为什么C#里面
int x = 24;
x += x--;
和
int x = 24;
x += x;
算出来的值都是48啊
这个后自减的意义是啥呢
1.先赋值,在-
2.不建议研究,因为除非项目完成,最后极限优化,没人会写这类代码
3. 不建议研究,因为如何解释语法是编译器的事情,不同编译器对同一个AST语法树不同,这不是技术。只是当初些编译器的人觉得应该如何就如何,就如同上面有人给你演示了C++编译器认为是:24+23,而编译器认为是24+24;
所以,研究这块基本意义,茴香豆应该是这个茴,但是没啥意义。将进酒应该读qiang,依旧没啥普适意义。除了喝酒吹牛的时候可以说说,其他时候这种知识就是纯粹浪费脑容量
跑了一下,是47
#include<stdio.h>
#include<stdlib.h>
int main()
{
int x = 24;
x += x--;
printf("%d\n",x);
return 0;
}
你试试把x--变成,--x,前面是先执行运算后自减,后面的是先自减后运算
执行顺序:从左到右
先x += x再x--,当然没效果喽
是的,对以你的示例。这个后自减 毫无意义,只是混淆视听
因为你雍错的场合