인프런 커뮤니티 질문&답변
대소 비교 연산자 질문 드립니다!
작성
·
233
1
코드를 보지 않고 미리 작성하던 중,
습관적으로 수학과 같이
if ( '0' <= ch <= '9')
ch = '*'
와 같이 작성하였을 때 숫자 뿐만 아니라 모든 문자가 *로 바뀌는 것을 확인했습니다.
논리 연산자를 차이가 무엇인가 생각해봤는데...
if 문 안의
'0'<=ch 가 먼저 연산이 되고, 이 자체로 expression 이니까 이 식의 value가 1이 되어서,
결국 if ( 1 < '9' ) 가 되어 항상 참이되는 식이 나온 것 같은데 맞나요 ??
논리 연산자를 사용한 식과 단순히 비교 연산자를 연속해서 쓴 것의 차이가 궁금합니다!
퀴즈
55%나 틀려요. 한번 도전해보세요!
C언어에서 `if-else` 문을 사용할 때, 참 또는 거짓 조건에 따라 무엇이 보장될까요?
두 개의 명령문 블록이 모두 실행됩니다.
두 개의 명령문 블록 중 정확히 하나만 실행됩니다.
컴파일러 오류가 발생하여 프로그램 실행이 중지됩니다.
조건과 관계없이 첫 번째 블록만 실행됩니다.





