这是C99标准的写法,不符合C89标准。
在C99中,变量可以在使用时声明。生命周期只存在与一条语句中,语句执行完毕,变量消失。
至于能否采用这种方式,取决与你的编译器。
TC2.0不支持C99标准。
GCC是支持的,编译时加上选项 -std=c99。
VC,没有用过,不太清楚。
能不能推荐个编译器?我用的是visual studio2010,然后就报错,纠结死了
不是的,只要i是已经声明的就可以,只要你使用的不是太古老的编译器。
二楼说的对
是的,如果提前赋值,for循环的第一个表达式就可以免了。例如:
int i=0;
for (;i < 10;i++) {
}