A-A+

有以下程序: #include <sldio.h> main() { int x=0 y=5

2022-08-06 05:14:45 问答库 阅读 176 次

问题详情

有以下程序: #include <sldio.h> 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
解析:当x=0,y=5,z=3时,z->0&&++x<5成立,执行y=y-1;此时y=5-1=4,z=z-1=2,x=x+1=1;条件z-->0&&++x<5仍然成立,继续执行y=y-1,此时y=y-1=3,z=1,x=2;条件z-->0&&++x<5仍然成立,继续执行y=y-1,此时y=y-1=2,z=0,x=3;条件不再成立,执行条件判断后x=3,y=2,z=-1。

考点:程序