Как я могу получить то, что вернула моя основная функция?
в программе на C если мы хотим дать некоторый вход от терминала, то мы можем дать его:
int main(int argc, char *argv[])
таким же образом, если мы хотим получить возвращаемое значение
5 ответов:
большинство оболочек хранят код выхода предыдущей команды запуска в
$?
Так что вы можете хранить и отображать его.$ ./a.out $ echo $? # note - after this command $? contains the exit code of echo!
или
$ ./a.out $ exit_code=$? # save the exit code in another shell variable.
обратите внимание, что под linux, хотя вы возвращаете
int
, как правило, безопасны только значения менее 126. Более высокие значения зарезервированы для записи других ошибок, которые могут возникнуть при попытке выполнить команду или записать, какой сигнал, если таковой имеется, прервал вашу программу.
ваша оболочка, вероятно, имеет специальную переменную
$?
, который содержит последнее возвращенное значение программы. Итак, вскоре после завершения программы вы можете запустить:echo $?
чтобы увидеть возвращаемое значение.
в DOS/Windows, вы можете использовать
errorlevel
в пакетном файлеexecutable optional arguments if errorlevel 4 goto LABEL4 if errorlevel 3 goto LABEL3 if errorlevel 2 goto LABEL2 if errorlevel 1 goto LABEL1 :SUCCESS echo SUCCESS; errorlevel 0 goto :eof :LABEL1 echo FAILURE; errorlevel 1 goto :eof :LABEL2 echo FAILURE; errorlevel 2 goto :eof REM ...
просто не забудьте проверить от самого большого до самого низкого, потому что
if errorlevel 42
действительно означает "если errorlevel 42 или больше"
суммирование комментариев и фрагментов, чтобы они были в одном месте.
программа C всегда имеет код, который программа может решить для себя, если она завершается нормально, возвращая значение из
main
функция или путем вызова
вы можете получить значения выхода с помощью команды basic linux command Эхо $? Коды ошибок являются стандартными, и подробности объясняются в этом ссылке
общие коды
**
0 - успех
1 - общие ошибки
126 - выдача разрешения
127-Незаконное команду
128-недопустимые Аргументы и фатальные ошибки
255-из диапазон**