有如下程序 main ( ) { int x=23; do { printf(“%d”,x--);} while(!x); } 该程序的执行结果是( ) A) 321

有如下程序main(){intx=23;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是()A)321B)23C)不输出任何内容D)陷入... 有如下程序
main ( )
{ int x=23;
do
{ printf(“%d”,x--);} while(!x); }
该程序的执行结果是( )
A) 321 B) 23 C) 不输出任何内容 D) 陷入死循环
展开
 我来答
maidongcao
推荐于2018-03-13 · TA获得超过1655个赞
知道小有建树答主
回答量:187
采纳率:100%
帮助的人:309万
展开全部
应该是 B. 23
如果是 x-- ,则在操作时是先使用x的值进行操作(这里即输出)然后再--。
如果是 --x ,则在操作时是先使x的值-- 再进行操作(即输出)。

while(!x) 当输出23后x的值-- 后变为 22 , 而(!x) 就是 (!22) ,C语言中规定 非0为真 因此 (!22)结果为假,即0,.while循环,只要条件为真循环,为假结束循环, 因此循环结束,所以就一次循环。
来自:求助得到的回答
匿名用户
2011-11-27
展开全部
23 因为x--是先使用x的值在进行自减操作。while(!x)表示当x是正数的时候,循环结束,所以第一次循环就结束了。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
镭毅
2011-11-27 · TA获得超过1394个赞
知道大有可为答主
回答量:1155
采纳率:0%
帮助的人:1086万
展开全部
b 23
追问
为什么
追答
X--是一目运算,即先打印23,然后x减一;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式