Почему программы на C компилируются, даже если отсутствует оператор return? [Дубликат]
This question already has an answer here:
Why C standards allow you not to return a value from a function? 6 answersЯ реализую некоторые базовые структуры данных в C, и я обнаружил, что если я опускаю тип возврата из функции и вызываю эту функцию, компилятор не генерирует ошибку. Я скомпилировал сcc file.c
и не использовал-Wall
(поэтому я пропустил предупреждение), но на других языках программирования это серьезная ошибка, и программа не будет компилироваться.
В соответствии с запросом Грэма Борланда, вот простой пример:
int test()
{
printf("Hi!");
}
int main()
{
test();
}