c语言,编程,请问第八题为什么选d?我的结果是2,我哪里错了吗

如题所述

第1个回答  2016-01-02
第一次的时候 i = 0,进入输出
第二次已经不满足条件了,不会输出,所以 i = 0追问

答案是c额

第2个回答  2016-01-02
正确选择循环次数为1次,选C
输出结果为0
i=0,j=1; i<=j+1 成立,输出i值为0
i+=2, j--后,i=2 j=0, 这时,i<=j+1 不成立,循环结束!追问

不是在判断完i<j+1后,就执行i+=2吗

谢谢你

追答

判断条件为真时,要先执行循环体,执行完成循环体后,才去执行i+=2

for ( e1 ; e2 ; e3 ){

  for_statements ;

}

执行过程为:

    e1只执行一次,然后进入条件判断

    如果e2为真,则执行for_statements ;

    如果e2为假,则结束循环。

    执行完成for_statements ;后,转入e3,然后再回到e2进行循环检查

本回答被提问者采纳
第3个回答  2016-01-02
for循环后面的printf没有用花括号
第4个回答  2016-01-02
应该是C啊追问

为什么呀

追答

for(i=0,j=1;i<=j+1;i+=2,j--)
括号中第一个分号左边是赋初值,这个不说了.
判断时: i=0 j+1=2 i<=j+1 成立, 进入循环,
第一次循环结束后, i+=2(此时i=2), j--(此时j=0), 第二次进入循环前判断: i<=j+1 也就是
2<=1 , 不成立, 退出循环.

相似回答