2-5
The following piece of code prints out__.
for (a=1,i=-1; -1<=i<1; i++) {
a++;
printf("%2d", a);
}
printf("%2d", i);
(2分)
A.
2 3 1
B.
-1
C.
1 2 0
D.
3
2-5
The following piece of code prints out__.
for (a=1,i=-1; -1<=i<1; i++) {
a++;
printf("%2d", a);
}
printf("%2d", i);
(2分)
A.
2 3 1
B.
-1
C.
1 2 0
D.
3
主要是循环结束条件有问题
-1<=i<1这个写法,数学上和计算机上的解读不一样。
计算机是这么解读的
先判断-1<=i是不是成立,由于i为-1,所以-1<=i是成立的,表达式结果就是1,然后判断1<1,这是错误的,所以循环根本就没有运行,最终i还是初始值-1
你理解了么?
理解的话,还请点击采纳支持一下