English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Exp1 ? Exp2 : Exp3;
그 중 Exp1、Exp2 와 Exp3 는 표현식입니다. 중간점의 사용과 위치를 주의하세요. ? : 표현식의 값은 Exp1 의 계산 결과가 됩니다. Exp1 이 참이면 Exp2 의 값이며, Exp2 의 계산 결과는 전체 ? : 표현식의 값입니다. Exp1 이 거짓이면 Exp3 의 값이며, Exp3 의 계산 결과는 전체 ? : 표현식의 값입니다.
?는 세 개의 연산자가 필요하기 때문에 삼항 연산자라고 불리며, 다음과 같은 if-else 문장:
if(condition){ var = X; } else { var = Y; }
예를 들어, 다음과 같은 코드를 보세요:
if(y < 10){ var = 30; } else { var = 40; }
위의 코드는 다음과 같은 문장으로 작성할 수 있습니다:
var = (y < 10) ? 30 : 40;
여기서, y가 작으면 10그렇다면 var는 다음과 같이 할당됩니다 30, y가 작지 않으면 10그렇다면 var는 다음과 같이 할당됩니다 40. 아래의 예제를 보세요:
#include <iostream> using namespace std; int main () { // 지역 변수 선언 int x, y = 10; x = (y < 10) ? 30 : 40; cout << "x의 값: " << x << endl; return 0; }
위의 코드가 컴파일되고 실행되면 다음과 같은 결과가 생성됩니다:
x의 값: 40