안녕하세요. 오늘은 여태배운 연산자중에 기타연산에 속하는 삼항 조건연산자라는 것에 대해 알아보도록 하겠습니다.

 

일단 삼항 조건 연산자는 c언어에서 사용하는 유일한 삼항 연산자라고 할 수 있습니다.

 

저희가 주로 사용하는 if문을 대신해서 사용을 할수 있고 '?:' 를 또한 사용을 합니다.

 

삼항 조건연산자에 대해 한번 알아보도록 하겠습니다. 먼저 삼항 조건 연산자는 주어진 조건을 비교하고 참인 경우 실행할 부분과 거짓인 경우 실행할 부분을 나눌수 있으며 아래의 예는 최대값을 구하는 것 입니다.

 

#include <stdio.h>

 

void main(void)

{

     int max;

     int i = 100,  j = 200;

 

     max = (i > j) ? i : j;

     printf("최대값은 %d 입니다. \n", max);

}

 

-결과 값-

최대값은 200 입니다.

 

삼항 조건연산은 아래와 같이 동작을 합니다.

(조건식) ? (참인경우 실행할 수식) : (거짓인경우 실행할수식)

 

위의 예제를 보시면 색깔 칠해진 부분이 이해가 안되시는 분이 있을거 같아서 간단히 설명을 해보겠습니다.

우선 i >j의 수식이 먼저 평가가 됩니다. i가 j보다 큰지를 평가한 후 참인 경우 i에 max값을 대입하고 거짓인경우에는 j값에

max값을 대입합니다.

 

이것을 if문을 사용해서 표현하면 아래와 같습니다.

 

if ( i > j)  // i가 j보다 크면

{

   max  =  i;

}

else   // i가 j보다 작거나 같으면

{

    max = j;

}

 

이해하시는데 도움되셧길바랍니다.