*简单表达式如a++或++a,这两种写法代表同样的意思,比如用在常见的for语句中;
但当递增increase或递减decrease的运算结果被直接用在其它的运算式中时,它们就代表非常不同的意思了:
++a 中,变量a的值先增加,然后再计算整个表达式的值,因此增加后的值被用在了表达式的计算中;
a++ 中,变量a的值在表达式计算后才增加,因此a在增加前所存储的值被用在了表达式的计算中。例如:
Example 1 | Example 2 |
x = 3; y = ++x; // x contains 4, y contains 4 |
x = 3; |
例1表达式中,x的值先增加1,然后再赋值给y,所以x=4,y=4(已经测试过);
例2表达式中,x的值先给y,然后增加1,所以y=3,x=4;