在c语言中int i=10; while(i-->0) ; printf("%d",i);结果是?,为什么?

 我来答
windsai888
2011-10-27 · TA获得超过158个赞
知道小有建树答主
回答量:214
采纳率:0%
帮助的人:134万
展开全部
首先,--优先等级比>高,而且i--是先用再运行的,当i=0的时候,虽然while语句满足了终止条件,但i会先进行i>0的比较,然后再会进行自减变成-1,最后再进行输出的,所以结果是-1
百度网友aca3fde2
2011-10-27 · TA获得超过978个赞
知道小有建树答主
回答量:624
采纳率:100%
帮助的人:197万
展开全部
结果是-1。
因为先判断表达式i-->0,先取值即10>0为真,再--,此时i=9
依次直到i=0,表达式不为真,此时i=-1,并且退出while循环。执行printf("%d",i);
打印输出:-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
zaigaiyier
2011-10-27
知道答主
回答量:39
采纳率:0%
帮助的人:32.9万
展开全部
-1
因为while()后面直接加了";"
那你的while循环其实就是
i--
while(i>0)
i--;
(只是i--的循环)
当i=-1时跳出循环,输出结果i
就为-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
无悔每一秒
2011-10-27 · TA获得超过852个赞
知道小有建树答主
回答量:671
采纳率:0%
帮助的人:780万
展开全部
-1
主要问题在i-->0
这里会先判断i>0后, i才自减1
所以当i=0时不满足,跳出while循环,还会进行自减,所以i=-1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式