请教一个C++运算优先级的问题(新手)

来源:百度知道 编辑:UC知道 时间:2024/05/29 03:13:22
请问:cout<<(2*8!=1);和cout<<((2*8)!=1) 结果一样吗?

运算结果都是:1

可是“!”的优先级大于“算术运算”啊!按照这个道理那么“2*8!=1”应该先做“8!=1”(1)再做“2*1”(2),结果应该是“2”啊。为什么还是1呢?

做新手很痛苦啊。

搞错了吧。单独的!优先级是高,但是此时的!是和=连用的,是一个运算符,表示不等于。并不是!和=分开的。

8!是什么意思,你的意思是!8吧,!=是不等于,2*8当然不等于1,条件判断为真,输出1.

这里应该看!=这个双目运算符的优先级,不是看!这个单目运算符的优先级

!=是一个运算符