关于c语言 ++a+++a++ a的初始值为10,运算后a?

[复制链接]
查看11 | 回复3 | 2011-9-19 21:48:23 | 显示全部楼层 |阅读模式
语句编译错误。按照理论来说,++a+++a++a的初始值为10,运算后a =36因为(++a) +(++a) +(a++) 假设都加上了括号,按照运算符优先级运算,从左到右运算....
回复

使用道具 举报

千问 | 2011-9-19 21:48:23 | 显示全部楼层
10 + 12 + 12 + 14 = 48我也写了下,确实是45。下面是编译产生的汇编代码: movl
$10, -12(%ebp)
; -12(%ebp) indicate a here. 17
addl
$1, -12(%ebp) 18
movl
-12(%ebp), %eax 19 ...
回复

使用道具 举报

千问 | 2011-9-19 21:48:23 | 显示全部楼层
错误,一点意义都没有这...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行