The operator condițional în C este oarecum similar cu instrucțiunea if-else, deoarece urmează același algoritm ca și instrucțiunea if-else, dar operatorul condiționat ocupă mai puțin spațiu și ajută la scrierea instrucțiunilor if-else în cel mai scurt mod posibil. Este cunoscut și sub numele de operator ternar în C deoarece operează pe trei operanzi.
traversarea în ordine a arborilor
Sintaxa operatorului condițional/ternar în C
Operatorul condiționat poate fi sub formă
variable = Expression1 ? Expression2 : Expression3 ;>
Sau sintaxa poate fi și în această formă
variable = (condition) ? Expression2 : Expression3 ;>
Sau sintaxa poate fi și în această formă
(condition) ? (variable = Expression2) : (variable = Expression3) ;>

Operator condiționat/ternar în C
Poate fi vizualizat într-o declarație if-else ca:
if(Expression1) { variable = Expression2; } else { variable = Expression3; }> Deoarece Operatorul Condițional „?:” are nevoie de trei operanzi pentru a funcționa, de aceea sunt, de asemenea, numiți operatori ternari .
Notă: Operatorul ternar are a treia cea mai mică precedență, așa că trebuie să folosim expresiile astfel încât să putem evita erorile din cauza gestionării necorespunzătoare a priorității operatorului.
java xor
Funcționarea operatorului condiționat/ternar în C
Funcționarea operatorului condiționat în C este după cum urmează:
- Pasul 1: Expresia1 este condiția care trebuie evaluată. Pasul 2A: Dacă condiția ( Expresia1 ) este adevărat atunci Expresia 2 va fi executat. Pasul 2B: Dacă condiția ( Expresia1 ) este fals atunci Expresia3 va fi executat. Pasul 3: Rezultatele vor fi returnate.
Organigrama operatorului condiționat/ternar în C
Pentru a înțelege mai bine funcționarea, putem analiza diagrama de flux a operatorului condiționat prezentat mai jos.

Organigrama operatorului condiționat/ternar în C
Exemple de operator ternar C
Exemplul 1: C Program pentru a stoca cel mai mare dintre cele două numere folosind operatorul ternar
C
cum să găsești lucruri ascunse pe Android
// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> >int> m = 5, n = 4;> > >(m>n) ?>>>'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;> }> |
>
>Ieșire
m is greater than n that is 5>4>
Exemplul 2: C Program pentru a verifica dacă un an este un an bisect folosind operatorul ternar
C
arbore binar de căutare]
// 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> |
>
>Ieșire
The year 1900 is not a leap year>
Concluzie
Operatorul condiționat sau operatorul ternar din C este folosit în general atunci când avem nevoie de un cod condiționat scurt, cum ar fi atribuirea unei valori unei variabile pe baza condiției. Poate fi folosit în condiții mai mari, dar va face programul foarte complex și imposibil de citit.
deschide meniul de setări
Întrebări frecvente despre operatorii condiționali/ternari în C
1. Care este operatorul ternar în C?
Operatorul ternar din C este un operator condiționat care lucrează pe trei operanzi. Funcționează în mod similar cu instrucțiunea if-else și execută codul pe baza condiției specificate. Se mai numește și Operator condiționat
2. Care este avantajul operatorului condiționat?
Reduce linia de cod atunci când condiția și instrucțiunile sunt mici.