logo

C의 조건부 또는 삼항 연산자(?:)

그만큼 C의 조건 연산자 if-else 문과 동일한 알고리즘을 따르기 때문에 if-else 문과 비슷하지만 조건 연산자는 공간을 덜 차지하고 if-else 문을 가능한 가장 짧은 방법으로 작성하는 데 도움이 됩니다. 그것은 또한 다음과 같이 알려져 있습니다. C의 삼항 연산자 세 개의 피연산자에서 작동하기 때문입니다.

C의 조건부/삼항 연산자 구문

조건 연산자는 다음과 같은 형식일 수 있습니다.



 variable = Expression1  ?  Expression2  :  Expression3 ;>

또는 구문이 다음 형식일 수도 있습니다.

 variable = (condition)  ? Expression2  :  Expression3 ;>

또는 구문은 다음 형식일 수도 있습니다.

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ;>
c의 조건부 또는 삼항 연산자

C의 조건부/삼항 연산자



다음과 같이 if-else 문으로 시각화할 수 있습니다.

if(Expression1) { variable = Expression2; } else { variable = Expression3; }>

조건 연산자 '?:'는 세 개의 피연산자를 사용하므로 이를 호출하기도 합니다. 삼항 연산자 .

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



C에서 조건부/삼항 연산자 작업

C에서 조건부 연산자의 작동 방식은 다음과 같습니다.

    1단계: Expression1은 평가할 조건입니다. 2A단계: 조건( 표현식1 )은 참이다. 식2 실행됩니다. 2B 단계: 조건( 표현식1 )는 거짓입니다. 식3 실행됩니다. 3단계: 결과가 반환됩니다.

C의 조건부/삼항 연산자 흐름도

작업을 더 잘 이해하기 위해 아래 제공된 조건부 연산자의 흐름도를 분석할 수 있습니다.

문자열을 부울 자바로
c의 조건부/삼항 연산자 흐름도

C의 조건부/삼항 연산자 흐름도

C 삼항 연산자의 예

예시 1: 삼항 연산자를 사용하여 두 숫자 중 가장 큰 숫자를 저장하는 C 프로그램




// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> >int> m = 5, n = 4;> > >(m>N) ?>printf>(>'m is greater than n that is %d>%d'>,> >m, n)> >:>printf>(>'n is greater than m that is %d>%d'>,> >n, m);> > >return> 0;> }>

안드로이드 버전 기록
>

>

산출

m is greater than n that is 5>4>

예시 2: C 삼항 연산자를 사용하여 해당 연도가 윤년인지 확인하는 프로그램




리눅스 호스트
// C program to check whether a year is leap year or not> // using ternary operator> > #include> > int> main()> {> >int> yr = 1900;> > >(yr%4==0) ? (yr%100!=0?>printf>(>'The year %d is a leap year'>,yr)> >: (yr%400==0 ?>printf>(>'The year %d is a leap year'>,yr)> >:>printf>(>'The year %d is not a leap year'>,yr)))> >:>printf>(>'The year %d is not a leap year'>,yr);> >return> 0;> }> > //This code is contributed by Susobhan AKhuli>

>

>

산출

The year 1900 is not a leap year>

결론

C의 조건 연산자나 삼항 연산자는 일반적으로 조건에 따라 변수에 값을 할당하는 등 짧은 조건 코드가 필요할 때 사용됩니다. 더 큰 조건에서 사용할 수 있지만 프로그램이 매우 복잡해지고 읽을 수 없게 됩니다.

C의 조건부/삼항 연산자에 대한 FAQ

1. C의 삼항 연산자는 무엇입니까?

C의 삼항 연산자는 세 개의 피연산자에 대해 작동하는 조건 연산자입니다. if-else 문과 유사하게 작동하며 지정된 조건에 따라 코드를 실행합니다. 조건 연산자라고도 합니다.

2. 조건 연산자의 장점은 무엇인가요?

조건과 명령문이 작을 때 코드 줄이 줄어듭니다.