C++ 布爾函數(shù)

2023-03-20 15:52 更新

和返回其他任何類型一樣,函數(shù)也能返回布爾值,將復(fù)雜的條件測試隱藏在函數(shù)中非常方便。例如:

bool isSingleDigit (int x)
{
  if (x >= 0 && x < 10) {
    return true;
  } else {
    return false;
  }
}

函數(shù)名是isSingleDigit。布爾函數(shù)常見的命名方式是,讓名字聽起來像是在提問題,回答是否即可。布爾函數(shù)的返回類型是bool,這意味著函數(shù)中的每個return語句都要提供一個布爾表達(dá)式。

例子中的代碼比較直接,雖然實(shí)際可能不需要這么長。還記得表達(dá)式 x >= 0 && x < 10吧,它也是布爾類型,所以直接返回該表達(dá)式是沒問題的,還可以避免if語句。

bool isSingleDigit (int x)
{
  return (x >= 0 && x < 10);
}

在main函數(shù)中,可以以常規(guī)的方式調(diào)用該函數(shù):

cout << isSingleDigit (2) << endl;
bool bigFlag = !isSingleDigit (17);

第一行輸出為真,因?yàn)?只有一位。不幸的是,C++輸出布爾值的時候,并不直接顯示“true”和“false”,而是顯示整數(shù)1和0(可以通過boolalpha標(biāo)記來修復(fù)這個問題,不過這個方式太過丑陋,我都不想提及)。

第二行中,只有當(dāng)17是一位的數(shù)字時,bigFlag會被賦值為true。

最常見的用法是將布爾函數(shù)放在條件語句中:

if (isSingleDigit (x)) {
  cout << "x is little" << endl;
} else {
  cout << "x is big" << endl;
} 
以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號