问题 单项选择题

有以下程序段( ) 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。

单项选择题
多项选择题