版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/CV2017/article/details/82659742
或运算符,左右两边通常为关系或相等表达式,第一个操作数将完全运算,仅当第一个操作数的计算结果为 false 时计算第二个操作数,当第一个操作数的计算结果为 true 时,不用计算第二个操作数和这之后的操作数,直接运行后面的代码了
示例1:
#include <iostream>
using namespace std;
int main()
{
int iA = 5;
int iB = 10;
int iC = 15;
if ((iA < iB) || (iB > iC))
{
cout << "( (iA < iB) || (iB > iC)): " << ((iA < iB) || (iB > iC)) << endl;
}
return 0;
}
因为 iA < iB 的运算结果为 true 和 或运算符的性质(当第一个操作数的计算结果为 true 时,不用计算第二个操作数和这之后的操作数,直接运行后面的代码了), iB > iC 的运算结果为 false 对 if 内的判断没什么影响了,所以直接运行下面的语句,根据输出结果可看出计算结果为 true,打印结果为 1
注意:(iA < iB) || (iB > iC) 将 || 两边的操作数都用括号括起来将其当做一个整体,虽然 >、< 的优先级比 || 高,但两边都用括号是一个良好的习惯