Объявляет переменную в пределах для не разрешена в C? Вот код,Ошибка при объявлении переменной in for statement
for(int i = 1; i<max; i++)
И я получаю сообщения об ошибках,
ошибка C2143: синтаксическая ошибка: отсутствует ';' перед «типа»
ошибка C2065: «я»: необъявленный идентификатор
Это работает, если я объявляю переменную я холмика перед цикл,
int i;
for(i = 1; i<max; i++)
Я никогда не ожидая сообщение об ошибке на такой простой строке кода. Не могли бы вы помочь мне объяснить причину этого?
Редактировать:
У меня есть Visual C++ 2010 Express. Я использую компилятор командной строки cl.
Update:
На основе ответов, я нашел Visual C++ 2010 не поддерживает C98.
Я, наконец, установил Visual Studio 2013 Express для рабочего стола, который поддерживает C98 и работает как ожидалось.
Спасибо всем вам за ценную информацию.
В C вы должны объявить все свои переменные в начале блока {...}, в C++ вы можете объявить их где угодно - и внутри for() – TonyWilk
Попробуйте 'gcc -std = c99 yourFile.c' до скомпилируйте свой код с использованием стандарта C99, который позволяет это –