회신: 18.10
, 도장_ 관리자님이 작성 if (100 <= num1 <= 0 && 100 <= num2 <= 0 && 100 <= num3 <= 0 && 100 <= num4 <= 0)
C 언어는 이런 형태의 조건식을 지원하지 않습니다. 수학적인 표기와는 차이가 있습니다.
또한, 이 조건식의 의미도 틀렸습니다.
100 <= num1은 num1이 100보다 크거나 같다는 뜻이 됩니다.
num1 <= 0은 num1이 0보다 작거나 같다는 뜻이 됩니다.
100보다 크거나 같으면서 0보다 작거나 같은 수는 없습니다.
동작하는 것처럼 보이는 것은 우연의 일치일 뿐입니다.
num1 = 80인 경우에
100 <= 80이 되므로 false가 됩니다.
false는 C 언어에서 0입니다.
따라서
0 <= 0이 되어 true가 됩니다.
num1 = 120인 경우에
100 <= 120이 되므로 true가 됩니다.
true는 C 언어에서 1입니다.
1 <= 0이 되므로 false가 됩니다.
100 <= num1 <= 0 // C 언어에서 지원하지 않는 문법이며 컴파일러에 따라 동작이 달라집니다.
한 번에 하나만 비교하고, &&나 ||를 사용해서 풀어야 합니다.