请问for循环中三个表达式一定是针对循环控制变量的吗,为什么?

如题所述

for循环中三个表达式 不一定 是针对循环控制变量的。
三个表达式中:
第一个是循环开始状态,循环开始时执行此表达式 1次,以后不再执行;
第二个是循环条件,符合此条件(即条件为真)时循环,不符合时,结束循环;
第三个是循环步长,即每循环一次要执行它1次。
例如:
int x=1,y=1,i=1;
for (x=2;i<5;y=y+2){
printf("i=%d x+y=%d\n",i++,x+y);
}
它的循环控制变量是 i, 不是 x 和 y。第二个表达式里有循环控制变量,第一,第三个里没有。
例如:
int x=1,y=1,i=1;
for ( ; ; ){ if (i<3)printf("i=%d x+y=%d\n",i++,x+y);else break; };
输出: i=1 x+y=2
i=2 x+y=2
这里三个表达式都是“空的”, 没有东西。
所以答案是 不一定。
温馨提示:答案为网友推荐,仅供参考
相似回答