2016-07-02 2 views
-2

"expected ';' after expressionexpressions result unusedというエラーが発生するのはなぜですか?ここに私のコードは次のとおりです。エラー:予期した ';'式と結果が未使用の後

#include <cs50.h> 
#include <stdio.h> 

int main(void) 
{ 
    printf("How tall do you want your pyramid to be?\n"); 
    int height = GetInt(); 

    if (height > 23 && height < 1) 
    { 
     printf("Please use a positive number no greater than 23:\n"); 
    } 
    else (height > 0 && height <= 23) 
    { 
     printf("Thanks!\n"); 
    } 
} 
+3

「else」ではなく「else if」が必要です。 '(height> 0 && height <= 23)'を削除してください。 'height> 23 && height < 1' -->' height> 23 ||高さ<1 " – BLUEPIXY

+0

@BLUEPIXY:答えとして投稿してみませんか? –

+1

@RudyVelthuisこれはタイプミスです。 – BLUEPIXY

答えて

2

になるだろうが、他のすべてを意味している、あなたので、他に条件を与えることはできません。 代わりにelseを使用してください。

4

あなたはelseと条件のチェックを与えることができないため、このエラーを取得しています。 else if

しかし、両方の条件が全体的に網羅的であることがわかりますので、条件付きのelse ifチェックは必要ありません。条件チェックなしのelseだけがあなたのために仕事をします。


さらに、あなたが指定した条件チェックによれば、それは決して真実ではありません。 heightは、23より大きく、次に、1より小さくすることはできません。何が必要なのか、代わりの||チェックと&&

だから、あなたのコードが他の

else (height > 0 && height <= 23) 

としてはそのようなものはありません

#include <cs50.h> 
#include <stdio.h> 

int main(void) 
{ 
    printf("How tall do you want your pyramid to be?\n"); 
    int height = GetInt(); 

    if (height > 23 || height < 1) 
    { 
     printf("Please use a positive number no greater than 23:\n"); 
    } 
    else 
    { 
     printf("Thanks!\n"); 
    } 
} 
関連する問題