2016-02-06 167 views
0
#include <stdio.h> 
#include <stdlib.h> 

int main() 
{ 
    int age; 

    printf("Hello world! Please enter your age\n"); 
    scanf("%d", &age); 
    if (age <= 50) { 
     printf("You are still young to change the world\n"); 
    } 
    else if (70 >= age >50) { 
     printf("You are now old, but don't worry\n"); 
    } 
    else { 
     printf("You are extremely old\n"); 
    } 
    return 0; 
} 

我進入51歲時,它給出了「你是非常古老的」。 else if聲明不起作用。簡單'else if'語句不起作用

+0

C不支持這樣的運算符鏈接。有關更多詳細信息,請參見[this](http://stackoverflow.com/a/32219872/3049655)。 –

+2

當您的條件被評估時,'else'屬於條件'(年齡<= 50)'並且已經強制執行'(年齡> 50)'(或'!(年齡<= 50)')。首先你並不需要複合條件。 –

回答

1
else if (70>=age>50){ 

在C這不是你如何做到這一點。而是試試這個 -

else if (age>50 && age <=70){ // age in between 50 and 70(including) 
+0

thnxs,它的工作:)) – mssirvi

+1

'age <= 50'已經過測試,所以實際上'if(age <= 70)'是最好的解決方案 –