哪个效率更高?x=x+1, x+=1, x++
解析:
x=x+1最低,因为它的执行过程如下:
(1)读取右x的地址。
(2)x+1.
(3)读取左x的地址。
(4)将右值传给左边的x(编译器并不认为左右x的地址相同)。
x+=1其次,其执行过程如下:
(1)读取右x的地址。
(2)x+1.
(3)将得到的值传给x(因为x的地址已经读出)。
x++效率最高,其执行过程如下:
(1)读取右x的地址。
(2)x自增1。
答案:x++效率最高。
解析:
x=x+1最低,因为它的执行过程如下:
(1)读取右x的地址。
(2)x+1.
(3)读取左x的地址。
(4)将右值传给左边的x(编译器并不认为左右x的地址相同)。
x+=1其次,其执行过程如下:
(1)读取右x的地址。
(2)x+1.
(3)将得到的值传给x(因为x的地址已经读出)。
x++效率最高,其执行过程如下:
(1)读取右x的地址。
(2)x自增1。
答案:x++效率最高。