IT용어위키


C 언어 삼항 연산자

C 언어 삼항 연산자(Ternary Operator in C, 三項演算子)는 조건식에 따라 두 가지 값 중 하나를 선택할 수 있게 하는 연산자로, if-else 문을 간결하게 표현하는 데 사용된다.

개요

삼항 연산자는 `조건식 ? 값1 : 값2`의 형태로 사용되며, 조건식이 참이면 값1을, 거짓이면 값2를 반환한다. 이는 연산자 중 유일하게 피연산자를 세 개 가지므로 "삼항" 연산자라 불린다.

문법

조건식 ? 참일   : 거짓일  ;

예:

int a = 5, b = 10;
int max = (a > b) ? a : b;  // max = 10

동작 원리

  • 조건식이 평가되어 참(0이 아닌 값)이면 `?` 뒤의 첫 번째 피연산자가 실행됨
  • 조건식이 거짓(0)이면 `:` 뒤의 두 번째 피연산자가 실행됨
  • 삼항 연산자는 값이 필요한 표현식 내부에서 많이 활용됨

예제

int a = 7, b = 3;
int min = (a < b) ? a : b;  // 결과: 3
printf("작은 값: %d\n", min);

또는, 함수나 조건에 따라 변수에 다른 값을 저장할 수도 있다:

char grade = (score >= 90) ? 'A' :
             (score >= 80) ? 'B' :
             (score >= 70) ? 'C' :
             (score >= 60) ? 'D' : 'F';

삼항 연산자와 if 문 비교

// if 문
if (a > b)
    max = a;
else
    max = b;

// 삼항 연산자
max = (a > b) ? a : b;

주의 사항

  • 중첩 삼항 연산자는 가독성을 해칠 수 있으므로 적절한 들여쓰기 필요
  • 실행되는 코드가 복잡한 경우에는 if 문을 사용하는 것이 바람직
  • 삼항 연산자 내부에서 부작용 있는 표현식을 남용하면 버그 유발 가능

관련 키워드

  • 조건식
  • if-else
  • 연산자 우선순위
  • 표현식

같이 보기

참고 문헌

  • Brian W. Kernighan, Dennis M. Ritchie, The C Programming Language, Prentice Hall, 1988.
  • 한동윤, 명품 C 언어 프로젝트, 생능출판사, 2020.

각주


  출처: IT위키 (IT위키에서 최신 문서 보기)

  * 본 페이지는 IT Wiki에서 미러링된 페이지입니다. 일부 오류나 표현의 누락이 있을 수 있습니다. 원본 문서는 IT Wiki에서 확인하세요!