短路原理
逻辑与运算符&&和逻辑或运算符 || 都是从左到右结合的,在计算机包含“&&”或“||”的表达式时,一旦能确定整个表达式的值,求解就会立即停止。
(A)&&(B)的含义
若第一个表达式为假,就不会去处理第二个表达式。即:
如果A为true,则执行B
如果A为false,则不执行B
例如:printCount == 0 && cout << "All passed";
相当于: if (printCount == 0)cout << "All passed";
(A)||(B)的含义
|| 的效果与 && 相反:
若第一个表达式为真,就不会去处理第二个表达式。即:
如果A为false,则执行B
如果A为true,则不执行B
例如:a == b || cout << "结果2:使用||后一句被执行" << endl;
相当于:if (a != b)cout << "结果2:使用||后一句被执行" << endl;
编程经验
在编写包含运算符 && 的表达式时,把最有可能为假的简单条件写在表达式的最左边,在编写包含运算符 || 时,把最有可能为真的简单条件写在表达式的最左边,这样做有助于减少程序的运行时间,提高程序的效率。
代码示例
#include <iostream>
using namespace std;
int main()
{
int a = 100;
int b = 100;
a == b && cout << "结果1:使用&&后一句被执行" << endl;
a == b || cout << "结果2:使用||后一句被执行" << endl;
a != b || cout << "结果3:使用||后一句被执行" << endl;
system("pause");
}
输出
结果1:使用&&后一句被执行
结果3:使用||后一句被执行
请按任意键继续. . .