-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
범위 질문드립니다!
20.03.24 00:15 작성 조회수 213
0
#include<stdio.h>
int main(){
int height;
scanf("%d",&height);
if(120<=height<=150){
printf("YES");
}
else{
printf("NO");
}
return 0;
}
제가 미리 짜본 코드였는데 120<=height<=150이 if문 조건식에 들어오지 못하는 이유는 무엇인가요? 제가 무언가를 착각하고 있는걸까요 ㅠㅠ
코드 결과는 어떤 수를 집어넣어도 YES가 출력되었었습니다..
답변을 작성해보세요.
0
김태원
지식공유자2020.03.24
C언어는 친절한 언어가 아닙니다. if(120<=height<=150)과 같은 구문을 수학처럼 120부터 150사이면 참이다. 이렇게 친절하게 해석해주지 않습니다. 위 구문이 해석되는 형태는 120<=height를 먼저 연산해 참이면 1, 거짓이면 0의 결과를 얻습니다.
그 결과값(0또는 1)과
결과값<=150의 연산을 합니다. 그래서 항상 참이 되는 것입니다.
답변 1