C++ 逻辑运算符和逻辑表达式

C++中逻辑表达式是短路计算的,即对逻辑表达式的计算,在整个表达式的值已经能够判定的时候就会停止。


exp1 && exp2:如果已经算出表达式exp1为假,则整个表达式的值为假,那么exp2就不会再计算。

exp1 || exp2:如果已经算出表达式exp2为真,则整个表达式的值为真,那么exp2也不会再计算。


下面看个简单的例子:

#include <iostream>
using namespace std;
int main()
{
int a = 0, b = 1;
bool m = (a++) && (b++);
//表达式a++的值为a原本的值0,所以表达式确定为假,b++不会被执行

cout << a << "," << b << endl;//输出1,1


m = a++ && b++;
//a++与b++都执行
cout << a << "," << b << endl;//输出2,2


m = a++ || b++;
//同理,表达式a++确定为真,b++不会被执行
cout << a << "," << b << endl;//输出3,2
return 0;
}

运行结果:


猜你喜欢

转载自blog.csdn.net/kksc1099054857/article/details/76795989