{ int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);

如题所述

第1个回答  2008-12-22
输出结果为:2
第一次循环后,i=2,j=0,不再满足循环条件,跳出for语句
第2个回答  2008-12-22
结果是 0

只循环1次。

第二个循环 i = 2,j=0 2<=1为假,不执行
第3个回答  2008-12-22
忽忽,什么意思啊,语法错误吧
第4个回答  推荐于2018-05-06
for(表达式1;表达式2;表达式3;)语句
执行过程如下:
(1)先求解表达式1;
(2)再求解表达式2,若其值为真,则执行for的循环体,然后执行下面的第三步。若为假,则结束循环,转到第五步。
(3)若表达式2为真,再执行循环体语句后求解表达式3。
(4)转回第二步继续执行。
(5)执行for语句的后续语句。
另,运算符+、-优先级高于<=,所以
所以这条语句输出:
0
2
因为

第一次循环:
i=0,j=1;j+1=2,i=0,i<=j成立;
输出0
i+=2(等同于i=i+2),i=2,j--,j=1

第二次循环:
j+1=2,i=2,i<=j成立;
输出2
i+=2(i=4),i=2,j--,j=1

第三次循环:
j+1=2,i=4,i<=j不成立;退出循环执行后续语句。本回答被提问者和网友采纳
相似回答