English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ 조건 연산자 ? :

C++ 연산자

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

C++ 연산자