C++ bool型別
bool型別的變數只能儲存0或是1而且bool資料型別只使用一個位元組。
using namespace std;
int main()
{
bool bt = true;
bool bs = 0;
cout << "sizeof(bt) = " << sizeof(bt) << endl;
cout << "bs = " << bs << ", bt = "<< bt << endl;
}
執行結果:sizeof(bt) = 1
bs = 0,bt = 1
bool變數內容,可以是0與1,也可以是true與false。
true為1或>0
false為0
來一題網路抓的題目:輸入一整數,判斷是否為3和5的倍數或者5和7的倍數。
using namespace std;
int main()
{
int i;
bool a=true,b=true;
cin >> i;
if(i%3==0&&i%5==0)
a=1;
else
a=0;
if(i%5==0&&i%7==0)
b=1;
else
b=0;
if(a)
cout<<i<<" 是3和5的倍數"<<endl;
else
cout<<i<<" 不是3和5的倍數"<<endl;
if(b)
cout<<i<<" 是5和7的倍數"<<endl;
else
cout<<i<<" 不是5和7的倍數"<<endl;
}
我建議bool的宣告都自己設定,我習慣設為true,不設定的話通常是任意數。
如果是能整除的數,a與b變1;否則反之變0;
if他讀入的東西是錯的就會跳下一個,像我打i值為35,那a就不符合,a=0,也就是false。
如果你是用函數的方式使用bool,那就要注意回傳值只能有一個0 or 1,不能同時判斷"3和5的倍數"和" 是5和7的倍數"。
差不多就是這樣,下回見~~