前兩個語句與給定的數字輸入一起運行,但第三個語句不運行。爲什麼我的if else語句工作
#include <iostream>
using namespace std;
int main()
{
double X;
cout << "Please pick a number from -10 to 10";
cin >> X;
if ((-3 <= X)&&(X <= 2))
cout << "Y = " << (X * X) + (2 * X) -3 << endl;
else if ((2 < X)&&(X <= 10))
cout << "Y = " << (5 * X) + 7 << endl;
else if ((X > 10)&&(X < -3))
cout << "Y = " << 0 << endl;
return 0;
}
當我選擇-10
或11
我接收結果僅是一個端程序不是一個「Y = 0」。
因爲X不能同時大於10且小於-3 – x1Mike7x
@StevenHansen:不,'-10'不符合第一個。它變成了'((-3 <= -10)&&(-10 <= 20))',其評估爲錯誤的'(假&&真)'。 –
這不是你的bug的原因,但[你應該檢查'cin >> X'是否成功](http://kayari.org/cxx/yunocheckio.html) –