刚才翻犀牛书的时候,看到一个题目:
假设 a = 1;
那么 b = (a++)+a;的结果是多少?
犀牛书上的理解过程是这样的:
- 计算b
- 计算a++,假设值为c
- 计算a
- 将c+a的结果赋值给b
按照“++”的定义,第2步中的a++的结果依然是1,即c为1,随后a立即增1,因此在执行第3步的时候,a的值已经是2。
所以b的值为3。
那么按照上面的思路,不妨在纸上写出下面表达式的运算过程?
假设 a = 1;
那么 b = (++a)+a+(a++)+(a--)+(++a);的结果是?
网友评论