请考虑以下两个片段
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第一个片段的情况。请帮忙!