삼항 연산자의 구문은 -
(expression-1) ? expression-2 : expression-3
이 연산자는 표현식의 결과에 따라 두 값 중 하나를 반환합니다. "expression-1"이 Boolean true로 평가되면 expression-2가 평가되고 해당 값이 최종 결과로 반환됩니다. 그렇지 않으면 expression-3이 평가되고 해당 값이 최종 결과로 반환됩니다.
예
삼항 연산자를 사용하여 최대 두 개의 숫자를 찾는 프로그램을 작성해 보겠습니다.
#include <iostream> using namespace std; int main() { int a = 10; int b = 20; int max = a > b ? a : b; cout << "Maximum value = " << max << "\n"; return 0; }
삼항 연산자의 구문을 위의 예와 비교하면 -
- 표현식-1은 (a> b)
- 표현식-2는
- 표현식 3은 b입니다.
먼저 표현식 a> b가 평가되며, 이는 변수 'a'의 값이 변수 'b'의 값보다 작기 때문에 부울 false로 평가됩니다. 따라서 변수 'b'의 값, 즉 '20'이 반환되어 최종 결과가 되고 변수 'max'에 할당됩니다.
출력
위의 코드를 컴파일하고 실행하면 다음과 같은 출력이 생성됩니다 -
Maximum value = 20