Member NFOC Ответов: 2

Почему этот код работает в visual studio 2017, даже когда я использовал оператор return с цифрой, отличной от нуля?


говорят, что в ответ, если мы ставим "return 0", это означает, что код в порядке, а если мы ставим любое другое целое число, это означает, что есть какая-то проблема.

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

#include <iostream>
int main() 
{ std::cout<<"Hello World!";
	return 4556;
}

2 Ответов

Рейтинг:
2

CPallini

Цитата:
говорят, что в ответ, если мы ставим "return 0", это означает, что код в порядке, а если мы ставим любое другое целое число, это означает, что есть какая-то проблема.
Это верно, но это всего лишь условность. При завершении процесса вы должны явно запросить у ОС код возврата, чтобы проверить его. Смотрите, например Как получить код выхода приложения из командной строки Windows? - переполнение стека[^]. В большинстве случаев, особенно в Windows, возвращаемое программой значение явно игнорируется. Во всяком случае, следовать конвенции-это хорошая практика.


Рейтинг:
0

Patrice T

Цитата:
Почему этот код работает в visual studio 2017, даже когда я использовал оператор return с цифрой, отличной от нуля?

возвращаемое значение-это ваша программа, сообщающая вызывающему абоненту, было ли что-то правильно или нет.
Когда вы запускаете программу в командном файле batch, это означает, что ваша программа использует, чтобы сообщить пакетному файлу, была проблема или нет.
Это позволяет пакетному файлу принимать решение в зависимости от возвращаемого значения.