삼항연산자의 중첩
삼항연산자는 양날의 검이다. 라인수를 짧게 하고 싶다면 권장되지만, 이해하기 어려운 코드를 만들기도 한다.
삼항연산자는 if-else
문을 한 번만 사용한 경우에는 간단하게 이해할 수 있다.
a > b ? a : b
a가 b보다 크면 a를 출력하고, b가 더 크다면 b를 출력하는 간단한 예제다.
이 삼항 연산자는 중첩
을 할 수 있다는 것이 까다롭게 작용한다.
어떻게 쉽게 볼 수 있을까
if-else가 하나라면 이해하기 쉽지만, if문의 중첩이 일어나면 상당히 보기가 까다로워진다.
이럴 때는, 괄호를 쳐서 보자. if문의 중첩이 어디서 발생하느냐에 따라서 미묘한 차이가 있다.
간단한 예제
두 숫자를 입력받고(a
, b
) 하나의 문자(c
)를 입력받는 코드다.
+
를 입력받으면 두 수의 합을 출력하고
/
를 입력받으면 a/b
를 수행한다. (이때 값은 정수형)
그 이외이 값을 받으면 "Wrong"이라는 문자열을 출력한다.
삼항연산자를 작성하기 어렵다면, 간단하게 if, else문을 작성해보자.
위 예제에서는 else
에서 중첩이 발생하고 있으니 FALSE
부분에다가 삼항연산자를 한 번 더 써주면 된다.
이 로직만 이해한다면 삼항연산자를 간단하게 작성할 수 있다. 나만 이해하고 싶은 코드를 만들고 싶다면 이렇게 삼항연산자를 즐겨쓰도록 하자!
≡'프로그래밍' 카테고리의 다른 글
[C] 포인터(pointer) 간단하게 이해하기 (3) | 2018.03.21 |
---|---|
정보처리기사 기출문제 정리 (0) | 2018.03.03 |
아스키(ASCII)코드와 유니코드(Unicode)의 이해 (4) | 2017.03.04 |