所以我有一个关于bool
变量的问题。
这是一个检查是否按时支付到期款项的程序,如果未按时支付,则乘以 1.10。
#include <iostream>
using namespace std;
int main()
{
float Dues;
cout<<"Enter ammount: \n";
cin>>Dues;
cout<<"On time? (y/n)";
char yn;
cin>>yn;
bool Overdue = yn !="y"; //TRUE (1) if it is late, FALSE (0) if it is on time
float AmountDue;
AmountDue = Overdue ? Dues*1.10 : Dues;
cout<<"Ammount due: ";
cout<<<<AmountDue;
return 0;
}
我不明白布尔的逻辑
我们有
bool Overdue = yn !="y";
现在这是我对布尔逻辑的理解,这是不对的
如果输入“n”=> N 不是 Y,这是正确的,因此 bool 为真 => 1
如果输入“y”=> Y 不是 Y,这是错误的,因此 fasle => 0
但实际上恰恰相反,我无法从逻辑上对自己进行解释。基于什么逻辑bool Overdue = yn !="y";
?