logo

C++ 삼항 또는 조건부 연산자

C++에서는 세 개 한 벌 또는 조건 연산자( ? : ) 조건문을 작성하는 가장 짧은 형식입니다. 일부 조건 코드를 실행하기 위해 if-else 대신 인라인 조건문으로 사용할 수 있습니다.

삼항 연산자의 구문( ? :)

삼항(또는 조건부) 연산자의 구문은 다음과 같습니다.



expression   ?     statement_1     :     statement_2;>

이름에서 알 수 있듯이 삼항 연산자는 세 개의 피연산자에 대해 작동합니다.

  • 표현: 평가할 조건입니다.
  • 성명_1 : 표현식이 true로 평가되면 실행될 명령문입니다.
  • 명령문_2: 표현식이 false로 평가되면 실행될 코드입니다.

// 이미지

위의 삼항 연산자 문은 아래에 제공된 if-else 문과 동일합니다.



  if   ( condition ) {     statement1;  }   else   {    statement2;  }>

C++의 삼항 연산자 예

C++






// C++ program to illustrate the use of ternary operator> #include> using> namespace> std;> > int> main()> {> > >// creating a variable> >int> num, test = 40;> > >// assigning the value of num based on the value of test> >// variable> >num = test <10 ? 10 : test + 10;> > >printf>(>'Num - Test = %d'>, num - test);> > >return> 0;> }>

부정 이산 수학
>

>

산출

Num - Test = 10>

위의 코드에서는 삼항 연산자를 사용하여 변수의 값을 할당했습니다. 하나에 이름이 지정된 다른 변수의 값에 따라 시험.

메모: 삼항 연산자는 세 번째로 낮은 우선순위를 가지므로 부적절한 연산자 우선순위 관리로 인한 오류를 방지할 수 있는 식을 사용해야 합니다.

C++ 중첩 삼항 연산자

중첩된 삼항 연산자는 다른 삼항 연산자 내부에 삼항 연산자를 사용하는 것으로 정의됩니다. if-else 문과 마찬가지로 삼항 연산자도 서로 중첩될 수 있습니다.

C++의 중첩 삼항 연산자 예

아래 코드에서는 중첩된 삼항 연산자를 사용하여 세 숫자 중 가장 큰 숫자를 찾습니다.

C++




// C++ program to find the largest of the three number using> // ternary operator> #include> using> namespace> std;> > int> main()> {> > >// Initialize variable> >int> A = 39, B = 10, C = 23;> > >// Evaluate largest of three using ternary operator> >int> maxNum> >= (A>나) ? ((A> C) ? A : C) : ((B> C) ? B : C);> > >cout <<>'Largest number is '> << maxNum << endl;> > >return> 0;> }>

>

>

산출

Largest number is 39>

보시다시피 삼항 연산자를 서로 중첩하는 것이 가능하지만 코드가 읽고 이해하기 복잡해집니다. 따라서 일반적으로 중첩된 삼항 연산자를 사용하지 않습니다.

또한 삼항 연산자는 짧은 조건부 코드에만 사용해야 합니다. 더 큰 코드의 경우 다른 조건문을 사용하는 것이 좋습니다.