若i =3,则printf("%d",-i++);输出的值为 -4为什么错了

 我来答
旅游小达人Ky
高粉答主

2021-01-28 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:1893
采纳率:100%
帮助的人:39.5万
展开全部

-i ++是先处理-i, 然后再处理i++

打印的时候 -i = -3,打印结束之后,i ++, i = 4

因此输出应该是-3

printf()函数是式样化输出函数, 一般用于向准则输出设备按规定式样输出消息。正在编写步骤时经常会用到此函数。printf()函数的挪用式样为: printf("<式样化字符串>",<参数表>)。

扩展资料

式样化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出;另一部分是式样化规定字符, 以"%"开端, 后跟一个或几个规定字符, 用来确定输出内容式样。 

函数printf从右到左压栈,然后将先读取放到栈底,最后读取的放在栈顶,处理时候是从栈顶开始的,所以我们看见的结果是,从右边开始处理的。

匿名用户
推荐于2018-04-30
展开全部
-i ++是先处理-i, 然后再处理i++
打印的时候 -i = -3,打印结束之后,i ++, i = 4
因此输出应该是-3
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
林翌蕁
2012-08-31
知道答主
回答量:41
采纳率:0%
帮助的人:17.2万
展开全部
不同编译器,结果估计不同吧!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式