在聲明中,cout << (i>0)
,其中i
是正數,並且大於0,(? > 0)
必須總是有多大的影響(據我測試)輸出1?cout << (i > 0);使它等於1?
#include <iostream>
using namespace std;
int main()
{
int i = 2, j = 5;
double k = 5.0;
cout << (i%j > 0) << " " << (i/k >0) << " " << (100>0) << endl;
cout << (i%j) << " " << (i/k) << endl;
return 0;
}
輸出:
1 1 1
2 0.4
1 =真,0 =假,那是比較的結果。我錯過了什麼嗎? – agilob
'i> 0'返回'bool'ean值(true或false)。 '''cout'的'''運算符將'bool'解釋爲'int'(或其他整數類型)並將值'0'打印爲'false',將'1'打印爲'true'。 –
謝謝,我沒有想到它把它變成了布爾 – Petarian