Почему в Си после main() не ставят ;?
в С при определении функции не ставят
;
между объявлением и телом функции, не только для
main
, но и для любой другой функции. Согласно стандарту языка, например С99 приводит следующий синтаксис определения функции:
function-definition:
declaration-specifiers declarator declaration-list<opt> compound-statement
declaration-list:
declaration
declaration-list declaration
Этот синтаксис включает в себя также старый формат определения функции (без прототипа), в котором все аргументы должны быть объявлены между закрывающей круглой скобкой и открывающей фигурной, например (из того же стандарта):
extern int max(a, b)
int a, b;
{
return a > b ? a : b;
}
Однако, этот список должен содержать как минимум одно объявление и не может состоять из одной только
;
.
эта строка работает на другом языке?
о каком "другом" языке речь?