国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

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

2020-01-26 15:16:23
字體:
供稿:網(wǎng)友

本文實例講述了C++短路求值(邏輯與、邏輯或),分享給大家供大家參考。具體方法分析如下:

1、邏輯或的短路

首先看如下代碼:

#include <iostream>using namespace std;int main(){  int a = 1;  cout << "a = " << a <<endl;  true || (a=0);  cout << "a = " << a <<endl;}

運行結(jié)果如下:

a = 1a = 1

邏輯或的表現(xiàn)形式如下:

expression1 || exexpression2

這里用到了邏輯或,由于邏輯或的短路,expression1為true,則后面的expression2(即:(a=0) )不再求值,整個表達式的結(jié)果為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;}

運行結(jié)果如下:

a=1a=1

邏輯與的表現(xiàn)形式如下:

expression1 && exexpression2

上述代碼中用到了邏輯與,由于邏輯與的短路,expression1為false,則后面的expression2不再求值,整個的結(jié)果為false,所以a的值沒有改變。

3、應(yīng)用舉例

這里以CSDN上的一個帖子為例(http://topic.csdn.net/u/20121011/10/c7e0a805-b4e2-44db-9d71-455f5f851240.html ):

不用if語句,不用匯編,怎么使得兩數(shù)之積總是小于等于255?

大家看過帖子會發(fā)現(xiàn)有很多方法,比如最簡單的條件表達式:

result = ((a*b) > 255) ? 255 : a*b;

這個是最先被人提出的,但好像樓主不認同,那就試下以下兩種方式:

用邏輯或的短路:

bool tmp = ((result = a*b) < 255) || (result=255);

用邏輯與的短路:

bool tmp = ((result = a*b) >= 255) && (result=255);

完整代碼如下:

#include <iostream>using namespace std;int main(){  int a,b,result;  while (true)  {    cin>>a>>b;//    result = ((a*b) > 255) ? 255 : a*b;//    bool tmp = ((result = a*b) < 255) || (result=255);    bool tmp = ((result = a*b) >= 255) && (result=255);    cout<<result<<endl;  }}

運行效果如下:

希望本文所述對大家的C++程序設(shè)計有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 信丰县| 响水县| 呼玛县| 兴业县| 文水县| 满城县| 聊城市| 自治县| 吉隆县| 土默特左旗| 汪清县| 巴林右旗| 边坝县| 枣阳市| 白河县| 宜兴市| 鄢陵县| 比如县| 密云县| 交口县| 玛多县| 甘德县| 江华| 南阳市| 光泽县| 五河县| 柳林县| 龙川县| 靖安县| 定州市| 海盐县| 邻水| 太仆寺旗| 西华县| 屯留县| 常山县| 金坛市| 育儿| 股票| 安宁市| 台中县|