Я googled и просто не могу найти ответ на этот простой вопрос.Implicit int возвращает значение функции C
Работа над унаследованного кода базы (портирована на Linux в последнее время, и медленно обновления до нового компилятора), и я вижу много
int myfunction(...)
{
// no return...
}
Я знаю, что неявный тип возвращаемого значения функции является INT, но что это неявное возвращение VALUE, когда не указано возвращение. Я тестировал и получил 0, но это только с gcc. Является ли этот компилятор конкретным или стандартно ли он равен 0?
EDIT: 12/2017 Скорректированный принятый ответ на основе этого, ссылаясь на более позднюю версию стандарта.
попытайтесь скомпилировать с -Wall -O3 и без -g. Попытайтесь узнать, осталось ли возвращаемое значение 0, и если существует какое-то предупреждение – kappa
Попробуйте скомпилировать с '-Wall -Werror' и посмотреть, все еще компилируется. – dreamlax
Принятый ответ следует изменить. Цитата 89 версия стандарта находится вне своего места в 2016 году. –