The pogojni operator v C je podoben stavku if-else, saj sledi istemu algoritmu kot stavek if-else, vendar pogojni operator zavzame manj prostora in pomaga napisati stavke if-else na najkrajši možni način. Znan je tudi kot ternarni operator v C saj deluje na treh operandih.
Sintaksa pogojnega/ternarnega operatorja v C
Pogojni operator je lahko v obliki
variable = Expression1 ? Expression2 : Expression3 ;>
Lahko pa je tudi sintaksa v tej obliki
variable = (condition) ? Expression2 : Expression3 ;>
Ali pa je sintaksa lahko tudi v tej obliki
(condition) ? (variable = Expression2) : (variable = Expression3) ;>

Pogojni/trojni operator v C
Lahko ga vizualiziramo v stavek if-else kot:
seštevalnik polni seštevalnik
if(Expression1) { variable = Expression2; } else { variable = Expression3; }>
Ker pogojni operator '?:' za delo uporablja tri operande, se zato tudi kličejo ternarni operatorji .
Opomba: Ternarni operator ima tretjo najnižjo prednost, zato moramo izraze uporabljati tako, da se lahko izognemo napakam zaradi nepravilnega upravljanja prednosti operatorjev.
Delovanje pogojnega/ternarnega operaterja v C
Delovanje pogojnega operatorja v C je naslednje:
- 1. korak: Izraz1 je pogoj, ki ga je treba oceniti. Korak 2A: Če je pogoj ( Izraz1 ) je potem res Izraz2 bo izvršena. Korak 2B: Če je pogoj ( Izraz1 ) je potem napačen Izraz3 bo izvršena. 3. korak: Rezultati bodo vrnjeni.
Diagram poteka pogojnega/ternarnega operaterja v C
Za boljše razumevanje delovanja lahko analiziramo spodnji diagram poteka pogojnega operatorja.

Diagram poteka pogojnega/ternarnega operatorja v C
Primeri ternarnega operaterja C
Primer 1: C Program za shranjevanje največjega od dveh števil z uporabo ternarnega operaterja
C
spajanje razvrščanje java
// 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;> }> |
>
>
sortiraj seznam matrik javaIzhod
m is greater than n that is 5>4>
Primer 2: C Program za preverjanje, ali je leto prestopno z uporabo ternarnega operaterja
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> |
>
>Izhod
The year 1900 is not a leap year>
Zaključek
Pogojni operator ali ternarni operator v C se običajno uporablja, ko potrebujemo kratko pogojno kodo, kot je dodeljevanje vrednosti spremenljivki na podlagi pogoja. Lahko se uporablja v večjih pogojih, vendar bo zaradi tega program zelo zapleten in neberljiv.
leksikografski red
Pogosta vprašanja o pogojnih/ternarnih operaterjih v C
1. Kaj je ternarni operator v C?
Ternarni operator v C je pogojni operator, ki deluje na treh operandih. Deluje podobno kot stavek if-else in izvede kodo na podlagi podanega pogoja. Imenuje se tudi pogojni operater
2. Kakšna je prednost pogojnega operatorja?
Zmanjša vrstico kode, ko so pogoj in izjave majhne.