簡體   English   中英

為什么我的if else語句行不通

[英]Why wont my if else statement work

前兩個語句以給定的數字輸入運行,但第三個語句不運行。

#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;
}

當我選擇-1011 ,我收到的結果只是一個結束程序,而不是“ Y = 0”。

 if ((X > 10)&&(X < -3))

一次X不能為X > 10且X <-3,因此它將始終返回false。

因此, if有條件,它永遠不會進入內部(第3個)。

您可能要使用|| 而不是&&因此如果任何&&真,則可以在if條件的情況下進入其中:

if ((X > 10)||(X < -3))

答案是一個數字不能一次大於10且小於-3。 例如20大於10,但也大於-3。 您找不到此號碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM