c语言 int i=5;求++i*--i?和++i*++i? 要详细解释的!!

 我来答
難得當歌對酒時
2010-09-01 · TA获得超过1187个赞
知道小有建树答主
回答量:517
采纳率:100%
帮助的人:829万
展开全部
注意,在C语言的表达式中,运算符的优先级、结合性 与 运算符的求值顺序 完全是两码事。
C中只有如下4个运算符规定了求值顺序,分别是:&& || ?: 和 , 。
而其他运算符的求值顺序是未定义的,具体要看不同的编译器是怎么实现的。
举例来说,你这个 ++i*--i 实际上就是 (++i) * (--i) ,而这个 * 的求值顺序未定义,也就是说可以先计算左操作数 (++i),可以先计算右操作数 (--i),也可以两边同时计算,而你这两个表达式又有副作用,所以不同的实现会得到不同的结果。
++ 、 -- 属于单目运算符,按前缀后缀规则计算即可。
zrj_bd
2010-09-01 · TA获得超过1870个赞
知道小有建树答主
回答量:647
采纳率:100%
帮助的人:1106万
展开全部
++i*--i = 25.
前置++和--的优先级高于*,所以先计算++i和--i,再计算*。
++i,--i后,i的值不变,5*5=25

++i*++i = 49.
原因和上面的相同,也是优先级的问题,2次++i后,i=7,7*7=49
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
623669584
2010-09-01 · TA获得超过233个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:344万
展开全部
这个题目没有答案。。。。。。。
不同编辑器的答案不一样
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式