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 만 있으면 작업을 수행 할 수 있습니다.


플러스 조건 확인에 따르면, 그것은 사실이 아닙니다. 따라서 height23보다 크고 그 다음으로는 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"); 
    } 
} 
관련 문제