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
보시다시피 삼항 연산자를 서로 중첩하는 것이 가능하지만 코드가 읽고 이해하기 복잡해집니다. 따라서 일반적으로 중첩된 삼항 연산자를 사용하지 않습니다.
또한 삼항 연산자는 짧은 조건부 코드에만 사용해야 합니다. 더 큰 코드의 경우 다른 조건문을 사용하는 것이 좋습니다.