首先看如下代碼:
#include <iostream>
using namespace std;
int main()
{
int a = 1;
cout << "a = " << a <<endl;
true || (a=0);
cout << "a = " << a <<endl;
}
運行結果:
a = 1
a = 1
邏輯或的表現形式如下:
expression1 || exexpression2
這裡用到了邏輯或,由於邏輯或的短路,expression1為true,則後面的expression2(即:(a=0) )不再求值,整個表達式的結果為true,所以a的值仍為1,沒有改變。
2、邏輯與的短路
首先看如下代碼:
#include <iostream>
using namespace std;
int main()
{
int a = 1;
cout << "a = " << a <<endl;
false && (a=3);
cout << "a = " << a <<endl;
}
運行結果:
a=1
a=1
邏輯與的表現形式如下:
expression1 && exexpression2
上述代碼中用到了邏輯與,由於邏輯與的短路,expression1為false,則後面的expression2不再求值,整個的結果為false,所以a的值沒有改變。