Другие языки программирования и технологии
С++.Почему при удачном выходе из ф-ции main() она должна возвращать 0?
Ведь логичнее было бы возвращать 1(true).А false(0) переводится как неправильный, ошибочный.
0 - означает ошибок нет, а не "правильный" и "неправильный".
Вопрос стоит как: "Есть ошибки? " 1 - есть, 0 - нет.
Вопрос стоит как: "Есть ошибки? " 1 - есть, 0 - нет.
Потому что в общем случае это результат выполнения функции
0 - ноль ошибок
1 - ошибка номер один
1234 - ошибка номер 1234
0 - ноль ошибок
1 - ошибка номер один
1234 - ошибка номер 1234
Если речь идет о bool типе - то да. 0 - это "плохо". А в случае int значение -1 будет "плохо" а не 0. Так принято. Например -1 - ошибка (любая) , 0 - без изменений (все правильно сработало) , больше 0 - уже коды или значения возврата, которые обрабатываются в вызывающей процедуре.
Вообще не парься и пиши void main().
Вообще не парься и пиши void main().
Кто сказал что она должна возвращать 0? И к слову все что меньше либо равно нулю это ошибка, возвращать она может все что угодно это не где не учитываеться
Евгений Панкратов
Но во всех книгах и вроде по стандарту ANSI main() должна возвращать 0.Вот я и спрашиваю, почему так.
Функция main() возвращает целое число, которое принимает вызывающий процесс — обычно этим процессом является операционная система. Возврат значения из main() эквивалентен вызову функции exit() с тем же самым значением. Если main() нe возвращает значение явно, то вызывающий процесс получает формально неопределенное значение. На практике же большинство компиляторов С автоматически возвращают 0, но если встает вопрос переносимости, то на такой результат полагаться с уверенностью нельзя.
Потому что ф-ия типа int :
int main() {}
A true false это тип bool
Add#
Кстати она может вообще ничего не возвращать
int main() {}
A true false это тип bool
Add#
Кстати она может вообще ничего не возвращать
так принято)
Похожие вопросы
- построить программу вывода значения ф-ции y=А*sin(wx) в виде графика, где A=0,5, w=2, x на [0;п] ,на делфи.. . нужен текс
- слышал что в с++ функция main всегда неявно возвращает в конце return 0 и поэтому писать это не нужно. так ли это?
- если я создам сайт, который неявно будет использовать какие-то ф-ции с другого сайта, это законно? пояснения внутри.
- isdigit() Непонятное поведение ф-ции
- Помогите с Си. Вопрос по заданию (насчет типизированной функции, которая должна возвращать массив)
- Калибровка монитора RGB. Должны ли отличаться зрительно в Corel DRAW между собой цвета R-0 G-0 B-0 и C-0 M-0 Y-0 K-100?
- Почему в информатике 0+0=0?
- Почему программа работает некорректно при вводе цифры "0"?
- не получается создать специализацию (спец ф-ию) в codeblocks 10,05. C++
- C++ весь код находится внутри int main(int argc, char* pszArgs[]) { }