A-A+

若有如下语句: int x=3; do{ printf(\%dn x-=2);} wbil

2022-08-06 02:39:39 问答库 阅读 174 次

问题详情

若有如下语句: int x=3; do{ printf("%dn",x-=2);} wbile(! (--x));则上面程序段()。
A.输出的是1
B.输出的是1和-2
C.输出的是3和0
D.是死循环请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:B
解析:do-while语句的一般格式为:do{循环体语句}while(表达式);先执行循环体语句一次,再判断表达式的值,若值为真,则继续执行循环,否则终止循环。本题中,先执行printf("%d\n",x-=2),值为x=x-2,即为1。然后判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式!(--x)的值为0,结束循环。

考点:语句