Member 14142709 Ответов: 4

Почему мы используем (return 0) в C++


почему мы используем (return0) в C++? если мы ставим 1 или -1, это работает или почему бы и нет?

Что я уже пробовал:

я пытаюсь это сделать, если (return0) вернул значение, но почему return 1 не возвращает значение

Maciej Los

Вы говорите о главной функции?

4 Ответов

Рейтинг:
2

CPallini

Возвращаемое значение параметра main функция-это код завершения[^] вашего заявления. Часть полезной информации, которая может быть проверена "внешним миром".


Рейтинг:
1

KarstenK

Вы вольны возвращать любой результат или объект из ваших функций, но в C++ есть соглашение возвращать целые числа в качестве кода состояния. А 0 означает отсутствие ошибки.

Если вы спрашиваете о главной функции его прототипа возвращения целое число, поэтому ответ-0 все было нормально.

Для некоторых пакетных модусов можно проверить возвращаемое значение и что-то сделать с ним.


Рейтинг:
0

OriginalGriff

Есть два места, которые вы можете использовать return 0 в C++:
1) в конце вашего main функция
2) в какой-то момент в другой функции.

Когда ваша основная функция завершается, она возвращает код состояния операционной системе, который - если ваше приложение работает под управлением DOS или CMD - проверяется, чтобы решить, нормально ли ваше приложение функционировало. Значение 0 указывает на "все ок, нормальный выход", любое другое значение обычно является кодом ошибки, который говорит: почему? в этот момент ваше приложение завершило работу. U=вы можете вернуть любое значение, но некоторые значения имеют определенные значения: КОДЫ ОШИБОК DOS[^]

Если вы возвращаете ноль в "нормальной" функции, это, вероятно, логическое значение. Поскольку C не имеет значения true или false, он работает с 0 / ненулевым значением. 0-это "ложь", любое другое значение - "истина", и поскольку C++ вырос из C, оно все еще совершенно верно. Так что возвращаемое значение 0 очень часто эквивалент "возвращение fasle", а любое другое значение - "возвращать true". Вот почему вы часто видите код типа:

char myString[] = ...
char *p = myString;
while (*p)
   {
   ...
   p++;
   }
Чтобы пересечь строку с нулевым окончанием - она останавливается на первом нулевом символе '\0', потому что ноль-это "ложь".

[edit]:blush: wrong way round, Griff - go get caffeine [/edit]


CPallini

Это должно быть написано
while (*p)
это останавливается на первом символе "\0", потому что ноль-это ложь!!!!
0 используется для обозначения "успеха". В то же время 0 - это как false в условных выражениях.

OriginalGriff

:румянец:
Все исправлено, и я иду на кухню ...

Maciej Los

Падение кровяного давления?
Она у меня иногда бывает. Если кафе не поможет, мне придется выйти из здания, чтобы немного прогуляться. :пиво:
Овации
Мацей

OriginalGriff

Это возможно - думаю, мне придется посмотреть, смогу ли я найти, где она оставила машину BP ... О боже, это может быть где угодно ...

Рейтинг:
0

CHill60

Это то, что известно как "соглашение о программировании", и оно существует уже очень давно.

Вы можете вернуть void или любое целое число из main() в программе C++ - Возвращаемые Значения Main () - Руководство По Программированию На C# | Microsoft Docs[^] но использование 0/-1 восходит к тому, что было до этой возможности.

Это не только программы на C++, то же самое верно и для хранимых процедур SQL Server, например, в частности встроенных.

Взгляните на ссылку, которую я предоставил для получения дополнительной информации