首页 新闻 会员 周边

关于C语言中的for循环

0
[已解决问题] 解决于 2012-04-20 21:59

C语言中的for循环是不是不能采取以下方式?

for(int i=0;i<3;i++)

{

}

i必须在for之前声明是么?

微澜的主页 微澜 | 初学一级 | 园豆:-1
提问于:2012-04-08 22:53
< >
分享
最佳答案
0

这是C99标准的写法,不符合C89标准。

在C99中,变量可以在使用时声明。生命周期只存在与一条语句中,语句执行完毕,变量消失。

至于能否采用这种方式,取决与你的编译器。

TC2.0不支持C99标准。

GCC是支持的,编译时加上选项  -std=c99。

VC,没有用过,不太清楚。

奖励园豆:5
sin4's | 菜鸟二级 |园豆:207 | 2012-04-09 01:12

能不能推荐个编译器?我用的是visual studio2010,然后就报错,纠结死了

微澜 | 园豆:-1 (初学一级) | 2012-04-09 21:30
其他回答(3)
0

不是的,只要i是已经声明的就可以,只要你使用的不是太古老的编译器。

zsounder | 园豆:2819 (老鸟四级) | 2012-04-08 23:05
0

二楼说的对

OOLi | 园豆:163 (初学一级) | 2012-04-09 08:52
0

是的,如果提前赋值,for循环的第一个表达式就可以免了。例如:

int i=0;

for (;i < 10;i++) {

}

CCJPP | 园豆:204 (菜鸟二级) | 2012-04-11 02:17
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册