int a=4;b=a*a++;b的结果?
单目运算符优先级比双目运算符高,理应是先累加然后相乘得到20,为什么程序运算结果是16?
int a = 4; int b = a*++a; // 20
递增、递减的优先级的确比 * 要高,比如上例中 是先运算的 ++a
++a
但是 ++a a++ 还是有区别的
a++是先取值,再计算自增1,++a是先自增再取值
8 回答6.6k 阅读
4 回答711 阅读✓ 已解决
2 回答3.4k 阅读
3 回答1.9k 阅读✓ 已解决
1 回答2.2k 阅读✓ 已解决
1 回答2.1k 阅读✓ 已解决
1 回答974 阅读✓ 已解决
4 回答3.9k 阅读
1 回答402 阅读
2 回答1.5k 阅读✓ 已解决
3 回答3.2k 阅读✓ 已解决
2 回答535 阅读✓ 已解决
递增、递减的优先级的确比 * 要高,比如上例中 是先运算的
++a
但是 ++a a++ 还是有区别的