C语言的问题?

不能理解答案如果i++换成i的话答案是10521吗想问一下为啥有10输出,不是应该判断再输出吗... 不能理解答案
如果i++换成i的话答案是10 5 2 1 吗 想问一下为啥有10输出,不是应该判断再输出吗
展开
 我来答
帐号已注销
2020-03-08 · TA获得超过317个赞
知道小有建树答主
回答量:345
采纳率:90%
帮助的人:83.6万
展开全部
输出情况分析如下:
---
执行步骤如下:
1、i=10,满足i>1条件,执行printf输出10后,i自增为11,然后执行i/=2,i=5
2、i=5,满足i>1条件,执行printf输出5后,i自增为6,然后执行i/=2,i=3
3、i=3,满足i>1条件,执行printf输出3后,i自增为4,然后执行i/=2,i=2
4、i=2,满足i>1条件,执行printf输出2后,i自增为3,然后执行i/=2,i=1
5、i=1,不满足i>1条件,退出循环
所以,输出结果为:10 5 3 2
---
如果i++换成i,执行结果如下:
1、i=10,满足i>1条件,执行printf输出10,然后执行i/=2,i=5
2、i=5,满足i>1条件,执行printf输出5,然后执行i/=2,i=2
3、i=2,满足i>1条件,执行printf输出2,然后执行i/=2,i=1
4、i=1,不满足i>1条件,退出循环
修改后,输出结果为:10 5 2
匿名用户
2020-03-08
展开全部
i++,是先赋值后自增,比如当i=10, %d输出的是10,然后10+1=11,11/2=5,这个数再进行下一次循环. 换成i就是10 5 2 1了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式