Стандарт или для чего нужен return 0 ? - C (СИ)
Формулировка задачи:
Здравствуйте. Нужна помощь в понимании. Например есть всем известная программа
Для чего нужен
#include <stdio.h> int main() { printf("Hello world!\n"); return 0; }
return 0
в таких случаях ? Например в небезызвестной книгеБ. Кешиган, Д. Ритчи (язык программирования С)
этот пример буз return. Мне учитель говорил что мол надо. Вот вроде линк на стандарт, где используется return 0. http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf В общем, поясните мне пожалуйста, зачем возвращать ничего в туда, где это не ждут ?Решение задачи: «Стандарт или для чего нужен return 0 ?»
textual
Листинг программы
nameless@nameless-desktop:~$ cat > foo.c int main() { return 0; } nameless@nameless-desktop:~$ gcc foo.c nameless@nameless-desktop:~$ ./a.out && echo "retcode = $?" retcode = 0 nameless@nameless-desktop:~$ cat > foo.c void main() {} nameless@nameless-desktop:~$ gcc foo.c nameless@nameless-desktop:~$ ./a.out && echo "retcode = $?" nameless@nameless-desktop:~$ ./a.out || echo "retcode = $?" retcode = 180 nameless@nameless-desktop:~$ ./a.out || echo "retcode = $?" retcode = 180 nameless@nameless-desktop:~$ ./a.out || echo "retcode = $?" retcode = 196 nameless@nameless-desktop:~$ ./a.out || echo "retcode = $?" retcode = 36 nameless@nameless-desktop:~$
Объяснение кода листинга программы
- Программа на языке C, написанная в текстовом редакторе, сохранена в файле
foo.c
. - Компиляция программы в исполняемый файл с помощью
gcc foo.c
. - Запуск исполняемого файла с помощью
./a.out
. - Команда
return 0;
в функцииmain()
предназначена для успешного завершения работы программы. - Переменная
retcode
используется командойecho
retcode = $?`` для получения кода возврата программы. - Изменение объявления функции
main()
наvoid main()
приводит к ошибке компиляции. - Команда
echo
retcode = $?`` выводит код возврата программы в консоль. - Исполняемый файл
a.out
может быть запущен с помощью команды./a.out
. - Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Команда
echo
retcode = $?` выводит значение переменной
retcode`, которая не определена в скрипте. - Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
- Значение кода возврата программы не равно 0, если программа завершилась неудачно.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д