본문 바로가기
  • 오늘도 신나게
코딩을 합시다/최대한 쉽게 설명한 C 언어

초등학생도 이해하는 C 언어 - 조건 연산자 (삼항 연산자)

by 앵그리선반장 2020. 5. 7.

조건 연산자 또는 삼항 연산자라 불리는 ? : 입니다.

기본적인 사용 형태는 

(조건)? (조건이 참 일때 ) : (조건이 거짓일때) 입니다.

예제 코드

#include<stdio.h>

void main(void)
{
    int a=2;
    int b=3;
	int c=0;
    
    c = (a>b) ? a : b;
    printf("c = %d \n",c);
}

조건 (a>b) 가 거짓 이므로 c = b 가 됩니다.

따라서 출력되는 결과 값은

c = 3

이처럼 값을 넣을때 주로 사용되지만 마치 if else 문과 비슷하게 사용도 가능 합니다.

#include<stdio.h>

void main(void)
{
    int a=2;
    int b=3;
	int c=0;
    
    (a>b) ? (c=a):(c=b);
    printf("c = %d \n",c);
}

조건 (a>b) 가 거짓 이므로 c=b 라는 코드가 실행 됩니다.

사실 이런 형태의 코드는 저는 사용해 본적이 없습니다. ;; 

물론 윗쪽의 값을 선택 하는 코드형태에서는 썼지만, 조건에 따라 어떤 코드를 실행 해야 할 경우에는 대부분 if 문이나 switch 문을 사용 합니다. 왜냐면, 위 예제 에서는 단지 조건에 맞는 코드를 c=a 와 같이 간단히 적었지만, 코드가 매우 길어질 경우 가독성이 떨어지기 때문입니다.

이 코드는 다음과 같은 형태로 변경해도 동일 합니다.

if(a>b)
  c = a;
else
  c=b;

이 경우 if() 조건에 해당하는 코드가 아무리 길어져도 가독성이 좋지요.

아직 조건문에 대한 설명이 없이 if 문을 예제로 들었지만, if 문은 가장 직관적으로 이해가 쉬운 문법이므로 이해가 되실거라 생각 됩니다.

if 문은 나중에 조건문에서 다시 자세히 다루겠습니다.

댓글