为什么fahr++与fahr+1不等价呀,这两者有什么区别呀?
C 语言有 前++ 和 后++ 这两种特殊的语法:
前++:具体写出来就是 ++fahr
,底层隐藏的逻辑就是先 fahr = fahr + 1
后返回 fahr
;
后++:具体写出来就是 fahr++
,底层隐藏的逻辑就是先返回 fahr
当前的值后执行 fahr = fahr + 1
;
所以 fahr++
与 fahr+1
的不同之处就在于它其实是拥有两步的特殊操作哦~
fahr++等价于fahr=fahr+1
首先,fahr++会改变fahr的值,而fahr+1不会
其次,两者用在表达式中时,效果不同。比如
int fahr = 1;
int a = fahr++;
int b = fahr+1;
代码结果是a=1,b=2。因为fahr++是先用fahr当前值进行表达式计算,然后fahr值才加1