인프런 커뮤니티 질문&답변

nurugji님의 프로필 이미지
nurugji

작성한 질문수

홍정모의 따라하며 배우는 C++

3.4 sizeof, 쉼표 연산자, 조건부 연산자

, < 연산자 우선순위

작성

·

236

0

if(a>0, b>0)을 하게되면 if(b>0)으로 인식해서 if(a>0 && b>0)으로 수정하는것이 맞는것인가요

if(90<a<100)을 하게되면 if((90<a)<100)으로 인식하는 것이 맞는 것인가요

if(90<a && a<100)으로 수정하는 것이 맞는 것인가요

만약 100<= a ,b <=1000 를 조건문에 넣고 싶을때 &&을 4번쓰는 방법외에는 없는 것인가요?

답변 2

2

- 조건문 판별에는 b > 0 만 적용되기 때문에 a > 0 도 if 조건문 판별에 적용하고 싶으시면  if(a>0 && b>0) 로 수정하셔야 겠습니다.

- 네. 맞습니다. 그래서 만약 a 값이 0이라면 if(90<a<100) 는 참이 됩니다. (90 < a)결과는 false라 0이기 때문이구요, 이어서 0 < 100 이 되는 것이나 마찬가지이기 때문에 결론적으로 1, 즉 참이 되는 것입니다. 

- a가 90과 100사이에 있는 것인지를 판별하고 싶다면 if(90<a && a<100) 로 바꾸시는게 옳겠습니다.

- 마지막은 어떤 말씀인지 잘 이해가 안가는데 100 <= a <= 1000 과  100 <= b <= 1000 를 동시에 조건문에 넣고 싶다는 말씀이신것일까요? 이 경우엔 && 을 4번 써주셔야 할 것 같습니다.

직접 이런 저런 실험을 해보시면서 실습해보시기를 추천드립니다.

0

nurugji님의 프로필 이미지
nurugji
질문자

자세한 답변 감사드립니다.

nurugji님의 프로필 이미지
nurugji

작성한 질문수

질문하기