logo

Pogojni ali ternarni operator (?:) v C

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 ali ternarni operator v c

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

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 java
Izhod

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.