有以下程序: #include <sldio.h> main() { int x=0,y=5,z=3; while(z-->0&& ++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z

admin2009-01-15  27

问题 有以下程序:    #include  <sldio.h>    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

答案2

解析 当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。
转载请注明原文地址:https://kaotiyun.com/show/kpHp777K
0

最新回复(0)