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

作者&投稿:仁喻 (若有异议请与网页底部的电邮联系)
C语言for()循环括号里的逗号运算怎么用~

举例:for ( i=0,a=5;i<100;i++ )
其中i=0,a=5就是逗号表达式,顺序执行即可,先执行i=0的赋值,然后执行a=5的赋值
如果是:for ( i=0;j>4,i<100;i++ )
这涉及逗号表达式的取值,执行顺序仍然是顺序执行,取值是逗号表达式最后一个式子的运算结果,如果是赋值语句,则是赋的值的结果。这个例子的循环条件是i<100的满足情况

你好!!
可以这样写的,没问题,正确

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));

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

不过因为写出来代码太诡异而被看代码的人骂就得不偿失了

for的表达式其实就是有3个表达式,分别用分号隔开
先运行i=0;i<j;前面2个表达式,满足条件了就运行下面的语句,
最后才运行最后一个表达式i++
然后再回去i=0;i<j;前面2个表达式那
就是这样一直循环
表达的方式,有很多,具体看自己的需求~
希望帮到你哈

初始化、条件和变量都能写多个
我还可以这样写:
for(;1;)
这个等同于while(1)

能写多个。不过容易降低程序的可读性。一般都不会用到那么多

for循环语句里三部分,用两个分号隔开,每部分都可以是0个、一个或多个表达式,多个表达式的话用逗号分开。前面部分只在循环体开始之前执行一次。中间部分取最后一个表达式的结果作为判断条件,其结果为0表示条件不满足退出循环,非0表示条件满足继续循环。后面部分是在循环体每次结束后执行的表达式。
这里的表达式可以是任意表达式,

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