Это довольно глупая программа, но цель int i()
в том, чтобы она скомпилировалась - фигурные скобки в конце:
{//empty main
}
вызовут ошибку, если не будет функциидекларация включена в #define
заявление.Если я удаляю его, gcc выдает ошибку:
testfile.c:4: error: expected identifier or ‘(’ before ‘{’ token
Вы можете использовать флаг -E
для gcc, чтобы понять, почему необходим int i()
- он покажет вам вывод препроцессора без компиляции.