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

xiaoxiao2021-02-28  98

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; }

运行结果:

转载请注明原文地址: https://www.6miu.com/read-69380.html

最新回复(0)