Я пытался это сделать в ANSI C:Объявить локальные переменные C89 в начале области?
include <stdio.h>
int main()
{
printf("%d", 22);
int j = 0;
return 0;
}
Это не работает в Microsoft Visual C++ 2010 (в проекте ANSI C). Вы получаете ошибку:
error C2143: syntax error : missing ';' before 'type'
Это работает:.
include <stdio.h>
int main()
{
int j = 0;
printf("%d", 22);
return 0;
}
Сейчас я читаю во многих местах, которые вы должны объявлять переменные в начале блока кода существуют переменные в Является ли это вообще true для ANSI C89?
Я нашел много форумов, где люди давали этот совет, но я не видел его в любом официальном источнике, например, в руководстве GNU C.