C语言中, 变量应该在代码块的第一条可执行语句前全部声明完, 而不能在可执行语句进行了一次运算后, 再去声明一个新变量
什么是可执行语句?
你可以理解为进行了运算的语句,
比如赋值, 函数调用, whilie循环(进行了判断), if条件判断(进行了判断)等, 都属于可执行语句
#include <stdio.h>
int main()
{
int i = 0; // 变量声明和赋值语句 (声明部分int i不算可执行语句, 赋值部分i = 0算可执行语句)
while (i < 5) // 循环语句
{
printf("%d\n",i); // 函数调用语句
1++; // 自增语句 (进行了一次运算)
return 0; // 返回语句
}
}
因此解决方法是: 变量声明应该放在代码块的开头位置
修改前
修改后报错消失