若有如下语句int x=3;do{ printf("%d\n",x-=2);}while(!(--x));则上面程序段A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
- A输出的是1
- B输出的是1和-2
- C输出的是3和0
- D是死循环
若有如下语句int x=3;do{ printf("%d\n",x-=2);}while(!(--x));则上面程序段A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环
do-while语句的一般格式为:do循环体语句while(表达式);先执行循环体语句一次,再判断表达式的值,若为真,则继续执行循环,否则终止循环。本题中,先执行printf("%d\n",x=-2)后,值为x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式!(--x)的值为0,结束循环。