首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

前置跟后置运算符

2013-03-25 
前置和后置运算符这是迅雷一问一答的题目:反汇编过程:不贴ASM代码了-----------------------------------

前置和后置运算符

这是迅雷一问一答的题目:


反汇编过程:


不贴ASM代码了

-----------------------------------

首先有一点必须要明确的是:表达式的运算顺序是从左到右的

语句 a = a++ + a++; 的执行过程是:

1. 第一个 a++ 的结果是5,第二个 a++ 的结果也是5

2. 此时表达式的结果是 a = 5 + 5 = 10,然后 a 再执行 2 个自加


语句 b = (++a) + (a++) + (a++) + (++a) + (++a) + (a--); 的执行过程是:

1. 第一个 ++a 的结果是6

2. 两个 a++ 的结果都是6

3. 前一个 ++a 的结果是7,后一个 ++a 的结果是8

4. a-- 的结果是8


最后表达式的结果是 b = 6+6+6+7+8+8 = 41,接下来就是更新 a 的值了,a一共有2次后置自加,1次后置自减,所以a = a + 2 -1 = 9(因为前置运算在表达式运算时已经运算过,而到表达式运算结束时a的值是8)

热点排行