A-A+
有以下程序段()main(){int x=0 y=5 z=3;while(z-->0&&++
问题详情
有以下程序段()
main()
{int x=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1;
printf("%d,%d,%dn",x,y,z);
程序执行后的输出结果是
A.3,2,0
B.3,2,-1
C.4,3,-1
D.5,-2,-5
参考答案
正确答案:B
B [解析]循环体共执行三次,y=5-3=2。因受循环限定条件"z-->0&&++x<5"的限制,当z=0时,循环被直接终止而不再执行"++x<5"的判定,x的值仍是上次循环时所获得的值3。此时Z--仍执行一次,z=-1。