世界!
我目前正在自学 C++。我正在阅读原理并练习使用 C++,在为其中一项练习编写程序时,我对程序的结果感到好奇,这是我没有预料到的。如果有人能解释为什么会这样,那就太好了
源代码如下:
#include<iostream>
using namespace std;
int main()
{
double val1 = 0;
double val2 = 0;
cout << "Enter two floating point values: ";
cin >> val1 >> val2;
cout << val1 + val2 << '\n'
<< val1 * val2 << '\n'
<< val1 / val2 << '\n';
if(val1 > val2)
{
cout << val1 << " greater \n";
cout << val2 << " lesser \n";
}
if(val1 == val2)
{
cout << val1 << " equals other floating point value \n";
cout << val2 << "equals other floating point value \n";
}
else
{
cout << val2 << " greater \n";
cout << val1 << " lesser \n";
}
system("PAUSE");
}
当我输入类似 6.9 和 5.4 的内容时,它会给我以下输出:
6.9 更大 5.3少
5.3 更大 6.9以下
我已经通过将 else 语句更改为 if 语句解决了这个问题,但是有人可以告诉我为什么当我使用 else 语句时它会给出这个输出。谢谢!
最佳答案
您的代码应如下所示:
if(val1 > val2)
{
cout << val1 << " greater \n";
cout << val2 << " lesser \n";
}
else if(val1 == val2)
{ //^^you missed this else
cout << val1 << " equals other floating point value \n";
cout << val2 << "equals other floating point value \n";
}
else
{
cout << val2 << " greater \n";
cout << val1 << " lesser \n";
}
如果您错过了 else
,逻辑非常清晰。具体来说,它将执行第一个 if
block 。如果您没有 else
,则转到 else
block 。
关于c++ - else 和 if 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16974760/