考虑空两个片段输出原因?
int main() {
float a = 1.5;
if(a == 1.5) cout << "Yes\n";
else cout << "No\n";
return 0;
}
输出:是的。
int main() {
float a = 0.7;
if(a == 0.7) cout << "Yes\n";
else cout << "No\n";
return 0;
}
输出:第
为什么输出两个情况不同? 我知道,默认情况下,浮点常量是double,所以float(a)和double(0.7)之间的第二个片段中的比较变为false,输出是No。但我无法弄清楚为什么输出为Yes第一个片段。请帮忙!
用'double'尝试它更有趣:文字可以有效地以比'double'更高的精度来表示。 – Bathsheba