单目运算符问题;

int a=4;
b=a*a++;
b的结果?

单目运算符优先级比双目运算符高,理应是先累加然后相乘得到20,为什么程序运算结果是16?

阅读 3.6k
2 个回答
int a = 4;
int b = a*++a; // 20

递增、递减的优先级的确比 * 要高,比如上例中 是先运算的 ++a

但是 ++a a++ 还是有区别的

a++是先取值,再计算自增1,++a是先自增再取值

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题