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