Подтвердить что ты не робот

Так что же означает "возврат 0"?

Я достаточно разбираюсь в PHP, но начал работать с C. Я видел код

return 0;

в конце функций, которые не возвращают значение. Это не используется в PHP, потому что если функция не имеет возврата, автоматически возвращается значение NULL.

Все, что я прошу, на простом английском, что делает return 0 на самом деле? Это похоже на PHP, где он возвращает свой аргумент как значение вызова функции? Это просто хорошая практика?

Я знаю, что этот вопрос задавался много раз, но я спрашиваю его с точки зрения разработчика PHP. Ответы, сделанные Google, не были настолько краткими.

4b9b3361

Ответ 1

Это как php, где он возвращает свой аргумент как значение вызов функции? Это просто хорошая практика?

Да, PHP и многие другие языки заимствовали ключевое слово return из 'C'. И во всех языках ключевое слово return имеет ту же функцию - возврат из функции. Все, что следует за return ключевым словом, - это значение, которое возвращается вызывающему.

Это хорошая практика? Да и Нет. Не все функции должны возвращать значение. И немало в стандартной библиотеке даже не возвращают никакой ценности. Следовательно, их возвращаемый тип void.

Но функция main должна возвращать 0 (также EXIT_SUCCESS), чтобы идентифицировать, что программа выполнена успешно. И -1 в противном случае (также EXIT_FAILURE)

EDIT: (Спасибо @KeithThompson):

EXIT_FAILURE определена реализация. 1 является общим значением EXIT_FAILURE, но все дело в том, что вам не нужно знать.

Ответ 2

По историческим причинам можно написать return 0; для возврата из функции, объявленной как void, например:

void foo( /* arguments */ )
{
  /* do things */
  return 0;
}

Это ничего не делает, и 0 (или все, что вы там положили) выбрасывается. Кроме того, разумные компиляторы выдадут вам предупреждение, если вы это сделаете. Так что не делайте этого.

Ответ 3

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

Ответ 4

Он буквально возвращает int из 0.

Ответ 5

Язык программирования C позволяет запускать или возвращать программы из основной функции для достижения успеха или отказа сигнала путем возврата целого числа или возврата макросов EXIT_SUCCESS и EXIT_FAILURE. В Unix они равны 0 и 1 соответственно. Программа C также может использовать функцию exit(), определяющую целочисленное состояние или макрос выхода в качестве первого параметра.

Помимо макросов EXIT_SUCCESS и EXIT_FAILURE, стандарт C не определяет значение кодов возврата. Правила использования кодов возврата различаются на разных платформах.

Ответ 6

В C вам не нужно возвращать значение только в том случае, если вы объявляете функцию с void в начале ее. Первый пример:

#include <stdio.h>
 int main()
{
   printf("Hello World!");
    return 0; // you have to use return because main starting with int
}

Второй пример:

#include <stdio.h>
void main()
{
printf("Hello World!");
//in this case return is useless, main is a void function

}