что такое system("pause") как оно работает и для чего оно нужно
Это системный вызов команды pause, которая ждёт любого ввода. Обычно используется, чтобы консольное окно, которое открывает приложение не сразу закрывалось, после того, как программа отработает, а сначала дожидались какого-нибудь ввода, чтобы можно было увидеть результат.
Вообще-то это вызов функции system(), которой передан аргумент "pause".
int system( const char* command );
Вот ее описание:
Вызов командного интерпретатора среды выполнения (/bin/sh, cmd.exe, command.com) с параметром command. Возвращается определённое реализацией значение (обычно, которое возвратила вызванная программа).
Если command - нулевой указатель, то производится проверка наличия командного интерпретатора в системе: будет возвращено значение отличное от 0, если он присутствует.
Так что system("pause") - вызов командного интерпретатора с параметром pause. В Windows - help pause любезно сообщает:
Приостановка выполнения пакетного файла и вывод сообщения:
Для продолжения нажмите любую клавишу . . .
Вызывает приостановку (паузу) в работе программы. В консольных приложениях запрашивает нажатие любой клавиши для продолжения работы.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей