int i=5;printf("%d",++i+2*i--);过程
4个回答
展开全部
因为++、+、*、--的运算优先级高低:++ > -- > * > +
所以先执行++i,得到i=6,在执行i--,还是6,其次在执行2*i=2*6=12,
最后再执行+,就是6+12=18。
其实最后 i 的值应该为5,因为先+1后-1,还是不变
希望能帮助你
所以先执行++i,得到i=6,在执行i--,还是6,其次在执行2*i=2*6=12,
最后再执行+,就是6+12=18。
其实最后 i 的值应该为5,因为先+1后-1,还是不变
希望能帮助你
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-07-20
展开全部
33
a=i++ 表示a=i;i=i+1。i=3,则f(c)结果是3
主程序中a=c;c=c+1。则主程序输出也为3
故结果是33.
a=i++ 表示a=i;i=i+1。i=3,则f(c)结果是3
主程序中a=c;c=c+1。则主程序输出也为3
故结果是33.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
结果是18 最后是i=5。
i先加1然后参与运算,最后先参与运算在自减一
i先加1然后参与运算,最后先参与运算在自减一
追问
恩,呵呵谢了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
6+2*6=18
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询