歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> C++短路求值(邏輯與、邏輯或)

C++短路求值(邏輯與、邏輯或)

日期:2017/3/1 10:07:27   编辑:Linux編程

首先看如下代碼:

#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的值沒有改變。

Copyright © Linux教程網 All Rights Reserved