본문 바로가기

프로그래밍

[C언어] 삼항연산자 활용하기

삼항연산자

삼항연산자의 중첩

삼항연산자는 양날의 검이다. 라인수를 짧게 하고 싶다면 권장되지만, 이해하기 어려운 코드를 만들기도 한다.
삼항연산자는 if-else문을 한 번만 사용한 경우에는 간단하게 이해할 수 있다.

a > b ? a : b

a가 b보다 크면 a를 출력하고, b가 더 크다면 b를 출력하는 간단한 예제다.
이 삼항 연산자는 중첩을 할 수 있다는 것이 까다롭게 작용한다.

어떻게 쉽게 볼 수 있을까

삼항연산자1

if-else가 하나라면 이해하기 쉽지만, if문의 중첩이 일어나면 상당히 보기가 까다로워진다.

삼항연산자2

이럴 때는, 괄호를 쳐서 보자. if문의 중첩이 어디서 발생하느냐에 따라서 미묘한 차이가 있다.

간단한 예제

삼항연산자
두 숫자를 입력받고(a, b) 하나의 문자(c)를 입력받는 코드다.
+를 입력받으면 두 수의 합을 출력하고
/를 입력받으면 a/b를 수행한다. (이때 값은 정수형)

그 이외이 값을 받으면 "Wrong"이라는 문자열을 출력한다.

삼항연산자3
삼항연산자를 작성하기 어렵다면, 간단하게 if, else문을 작성해보자.
위 예제에서는 else에서 중첩이 발생하고 있으니 FALSE 부분에다가 삼항연산자를 한 번 더 써주면 된다.

이 로직만 이해한다면 삼항연산자를 간단하게 작성할 수 있다. 나만 이해하고 싶은 코드를 만들고 싶다면 이렇게 삼항연산자를 즐겨쓰도록 하자!