输出的原因?

时间:2015-08-14 11:13:03

标签: c++ output

请考虑以下两个片段

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

0 个答案:

没有答案