若有如下语句: int x=3; do{ printf("%d\n",x-=2);} wbile(! ( --x));则上面程序段( )。

admin2013-02-23  61

问题 若有如下语句:    int x=3;    do{ printf("%d\n",x-=2);}    wbile(! ( --x));则上面程序段(    )。

选项 A、输出的是1
B、输出的是1和-2
C、输出的是3和0
D、是死循环

答案2

解析 do - while语句的一般格式为:
   do {循环体语句} while(表达式);
   先执行循环体语句一次,再判断表达式的值,若值为真,则继续执行循环,否则终止循环。本题中,先执行printf("%d\n",x- =2),值为x=x-2,即为1。然后判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式!(--x)的值为0,结束循环。
转载请注明原文地址:https://kaotiyun.com/show/ElPp777K
0

最新回复(0)