&& 跟||的优先级
时间: 2023-12-27 10:01:55 浏览: 94
关于==和&优先级问题
根据引用[1]和引用的内容,我们可以得出以下结论:
- 在C/C++中,逻辑运算符&&(与)的优先级高于||(或)。
- 优先级决定了运算符的结合顺序,但并不决定运算的顺序。
- 表达式的求值顺序仍然是从左到右。
以下是一个示例来演示&&和||的优先级:
```c++
#include <iostream>
using namespace std;
int main() {
int x = 3, y = 2;
bool result = (x = 3) || (0) && (y = 3);
cout << "x = " << x << endl; // 输出:x = 3
cout << "y = " << y << endl; // 输出:y = 2
cout << "result = " << result << endl; // 输出:result = 1(true)
return 0;
}
```
在上述示例中,表达式`(x = 3) || (0) && (y = 3)`中,由于&&的优先级高于||,所以先计算`(0) && (y = 3)`,但由于短路特性,`(y = 3)`并没有执行。因此,最终的结果是x=3,y=2,result为true。
阅读全文