a++*2 这个表达式如果分解开来是什么样的,先算谁?

来源:百度知道 编辑:UC知道 时间:2024/05/30 00:15:04
假设A等于5
这个表达式的值又是多少?
谢谢,请高手扫盲......
先谢谢一楼
可是++的运算等级不是高于*吗
为什么会先算*呢...
好糊涂呀....

t = a++*2;

相当于:
t = a*2;
a++;

例如:
#include <iostream.h>

int main()
{
int a=5;
int t = a++*2;
cout<<t<<endl<<a<<endl;
return(0);
}
则输出:
10
6

这样记:
t = a++;是先将a赋给t再让a自增
t = ++a;是先让a自增再将a赋给t

顺序不同而已,这里的t理解为等号右边表达式的值

++是高于*
a++*2可以看作(a++)*2,但是a++这个表达式的值还是a 所以整个表达式的值相当于a*2

a++*2=(a++)*2
等价于
a*2
a++