logo

Operator warunkowy lub trójskładnikowy (?:) w C

The operator warunkowy w C jest trochę podobne do instrukcji if-else, ponieważ wykorzystuje ten sam algorytm, co instrukcja if-else, ale operator warunkowy zajmuje mniej miejsca i pomaga pisać instrukcje if-else w możliwie najkrótszy sposób. Znany jest również jako operator trójskładnikowy w C ponieważ działa na trzech operandach.

Składnia operatora warunkowego/trójskładnikowego w C

Operator warunkowy może mieć postać



 variable = Expression1  ?  Expression2  :  Expression3 ;>

Lub składnia może być również w tej formie

 variable = (condition)  ? Expression2  :  Expression3 ;>

Lub składnia może być również w tej formie

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ;>
operator warunkowy lub potrójny w c

Operator warunkowy/trójskładnikowy w C



Można to zwizualizować w instrukcji if-else jako:

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

Ponieważ operator warunkowy „?:” wymaga do działania trzech operandów, dlatego są one również wywoływane operatory trójskładnikowe .

pełna forma ctc

Uwaga: Operator trójskładnikowy ma trzeci najniższy priorytet, dlatego musimy używać wyrażeń w taki sposób, aby uniknąć błędów wynikających z niewłaściwego zarządzania pierwszeństwem operatorów.



Działanie operatora warunkowego/trójskładnikowego w C

Działanie operatora warunkowego w C wygląda następująco:

    Krok 1: Wyrażenie 1 jest warunkiem do oceny. Krok 2A: Jeśli warunek ( Wyrażenie 1 ) jest zatem prawdą Wyrażenie2 zostanie wykonany. Krok 2B: Jeśli warunek ( Wyrażenie 1 ) jest zatem fałszywe Wyrażenie 3 zostanie wykonany. Krok 3: Wyniki zostaną zwrócone.

Schemat blokowy operatora warunkowego/trójskładnikowego w C

Aby lepiej zrozumieć działanie, możemy przeanalizować schemat działania operatora warunkowego podany poniżej.

schemat blokowy operatora warunkowego/trójskładnikowego w c

Schemat blokowy operatora warunkowego/trójskładnikowego w C

Przykłady operatora trójskładnikowego C

Przykład 1: Program w C przechowujący największą z dwóch liczb przy użyciu operatora trójskładnikowego

C


pętla for w 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;> }>

>

data lokalna
>

Wyjście

m is greater than n that is 5>4>

Przykład 2: Program w C sprawdzający, czy dany rok jest rokiem przestępnym, przy użyciu operatora trójskładnikowego

C

kolejka priorytetowa 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>

>

następny skaner Java
>

Wyjście

The year 1900 is not a leap year>

Wniosek

Operator warunkowy lub operator trójskładnikowy w C jest zwykle używany, gdy potrzebujemy krótkiego kodu warunkowego, na przykład przypisując wartość zmiennej na podstawie warunku. Można go używać w większych warunkach, ale spowoduje to, że program będzie bardzo skomplikowany i nieczytelny.

Często zadawane pytania dotyczące operatorów warunkowych/trójskładnikowych w C

1. Co to jest operator trójskładnikowy w C?

Operator trójskładnikowy w C jest operatorem warunkowym, który działa na trzech operandach. Działa podobnie do instrukcji if-else i wykonuje kod w oparciu o określony warunek. Nazywa się go także operatorem warunkowym

2. Jaka jest zaleta operatora warunkowego?

Zmniejsza linię kodu, gdy warunek i instrukcje są małe.