请问关于c语言的问题,关于for的循环

c语言可以这样写for(int i=0;i<100;i++) 把i的定义放在了for的循环里吗??在c++的时候看到可以这样写,我不知道什么时候可以在c语言中用这样,感觉在有时候可以,有时候不可以,还有就是像这样for(int i=0; i<100,j=54; i++)这样子在for里面有一个这样的语句,请高手指点!!!!

1.for(int i=0;i<100;i++)
这种写法是在C99标准后才有的,也就是说C99标准的C语言是可以这么写的,有时候可以有时候不可以是因为你的编译器不同,有的默认使用的是C89的标准,有的使用的是C99

2.for(int i=0; i<100,j=54; i++)
像这样的用法是可以的,不过你举的这个例子本身是个死循环
for括号中的第一个语句只执行一次,就是for一开始的时候执行的
第二个语句是条件,只有条件的返回值为真,才会进循环
第三个语句一般是用来做自增或者自减,这三个语句都不是必须的,根据需要,有时候是可以省略的
然后是你这个例子中的第二个语句
i<100,j=54; 这个语句的返回值是54,也就是真(非0即真),所以前面的i<100的判断就没有意义了,这是因为“,"的语句返回的是最后一个表达式的值,例如
int i = 0
i=(1,2);
i的结果是2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-07-22
for(int i=0;i<100;i++)
这个写法是不对的,
这个是C++写法
C语言的话变量定义一定要在语句执行之前的
int i;///这样写是可以的

for(i=0; i<100,j=54; i++)本回答被网友采纳
第2个回答  2012-07-22
第3个回答  2012-07-22
c++可以在要使用时定义,有的编译器支持C和c++的所以你那时候觉得都一样,但是有的编译器只能支持c的,那就必须先定义后使用了。
for(int i=0;i<100,j=54;i++)是判断i是否小于100,然后j赋值为54。
相似回答