int a = 1;
int b = ++a;
Console.WriteLine(a) //结果是2
int c = 1;
int d = c++;
Console.WriteLine(d);//结果是1
关于++a 和 a++ 我看到过一种解释,当后加时,赋值运算符的优先级是高于自增加运算符的,所以是先赋值,后自增
那么为什么在先加时,a却是先自增在赋值呢,求解惑
int a = 1;
int b = ++a;
Console.WriteLine(a) //结果是2
int c = 1;
int d = c++;
Console.WriteLine(d);//结果是1
关于++a 和 a++ 我看到过一种解释,当后加时,赋值运算符的优先级是高于自增加运算符的,所以是先赋值,后自增
那么为什么在先加时,a却是先自增在赋值呢,求解惑
收起
后++或先++ 不是优先级哪个高的问题,是本身的功能不一样,与优先级没有关系
++a是先把a加1,然后直接返回a。
a++是先把a的值缓存起来,对a进行加1后,返回之前缓存的值。不是先获取a的值计算整个表达式后,再对a进行加1。
报告相同问题?