Cehic 发表于 2020-10-26 19:30:49

自增自减运算符求助

int i=5
j=++i;
h=i++;
答案j=6,h=5
我想问的是:明明自增自减运算符的优先级高于赋值运算符,那不是应该先算自增自减,然后将结果再赋给相应的变量吗?

小甲鱼的铁粉 发表于 2020-10-26 19:40:21

进行赋值运算时,出现++i就先将i加1,如果是i++,那么就先进行赋值运算在加一

Cehic 发表于 2020-10-26 19:49:35

小甲鱼的铁粉 发表于 2020-10-26 19:40
进行赋值运算时,出现++i就先将i加1,如果是i++,那么就先进行赋值运算在加一

可这不是违背了运算符的优先性了吗?

sunrise085 发表于 2020-10-26 19:54:52

Cehic 发表于 2020-10-26 19:49
可这不是违背了运算符的优先性了吗?

++在后,先使用,后自加
相当于有个临时变量,先把i存起来,i进行自加,然后把那个临时变量赋值给h

小甲鱼的铁粉 发表于 2020-10-26 19:55:06

Cehic 发表于 2020-10-26 19:49
可这不是违背了运算符的优先性了吗?

https://baike.baidu.com/item/运算符优先级/4752611?fr=aladdin
++运算符优先级比=高的{:10_250:}

kogawananari 发表于 2020-10-26 20:04:37

{:10_292:}为什么我运行 h和j都是6啊 但是i是7了

Cehic 发表于 2020-10-26 20:56:55

小甲鱼的铁粉 发表于 2020-10-26 19:55
https://baike.baidu.com/item/运算符优先级/4752611?fr=aladdin
++运算符优先级比=高的

对呀,那不是无论++在前还是在后都是先算++?可是i++明明是先进行了赋值操作呀
页: [1]
查看完整版本: 自增自减运算符求助