C语言 for 循环括号里能写什么啊?

正常下是for (i = 0;i < j ; i++)

还能怎样写?我看到有个写成 for (i = 0,t = 0 ; i <j; i ++)

还能写两个变量初始值? 那结束条件跟循环递增呢?也能写多个?

for里面表达的方式还有其他吗

for里面分三个部分,都是表达式
第一个部分的表达式的值是被丢弃的。i=0,t=0的值是0,不过这个0没有用
第二个部分的表达式的值是用来判断是否继续循环的,0表示不继续,其他表示继续
第三个部分的表达式的值也是被丢弃的。

所以所谓什么初值啊啥的,只是一般的习惯用法,不按照这个也没关系。你甚至可以这么写

i = 1;
for(; i <= 5; ++i) printf("%d", i);

或者
i = 0;
for(; i++, i <= 5; printf("%d", i));

总之满足上面说的三个要求就可以了。里面要出现函数调用啊什么的也没有关系

不过因为写出来代码太诡异而被看代码的人骂就得不偿失了
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-04-16
for的表达式其实就是有3个表达式,分别用分号隔开
先运行i=0;i<j;前面2个表达式,满足条件了就运行下面的语句,
最后才运行最后一个表达式i++
然后再回去i=0;i<j;前面2个表达式那
就是这样一直循环
表达的方式,有很多,具体看自己的需求~
希望帮到你哈
第2个回答  2013-04-16
初始化、条件和变量都能写多个
我还可以这样写:
for(;1;)
这个等同于while(1)
第3个回答  2013-04-16
能写多个。不过容易降低程序的可读性。一般都不会用到那么多
第4个回答  2013-04-16
for循环语句里三部分,用两个分号隔开,每部分都可以是0个、一个或多个表达式,多个表达式的话用逗号分开。前面部分只在循环体开始之前执行一次。中间部分取最后一个表达式的结果作为判断条件,其结果为0表示条件不满足退出循环,非0表示条件满足继续循环。后面部分是在循环体每次结束后执行的表达式。
这里的表达式可以是任意表达式,

for(;;)
for(x=y, z=func(); x=z, y=x+1; x=func(), z = func(y))
等等,都可以。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网