Sąlyginis arba trijų dalių operatorius (?:) C

Sąlyginis arba trijų dalių operatorius (?:) C

The sąlyginis operatorius C yra panašus į if-else sakinį, nes vadovaujasi tuo pačiu algoritmu kaip ir if-else sakinys, tačiau sąlyginis operatorius užima mažiau vietos ir padeda trumpiausiu įmanomu būdu parašyti if-else sakinius. Jis taip pat žinomas kaip trinarinis operatorius C nes veikia trimis operandais.

Sąlyginio / trijų operatoriaus sintaksė C

Sąlyginis operatorius gali būti formoje

 variable = Expression1  ?  Expression2  :  Expression3 ; 

Arba sintaksė taip pat gali būti šios formos

 variable = (condition)  ? Expression2  :  Expression3 ; 

Arba sintaksė taip pat gali būti šios formos

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ; 
sąlyginis arba trijų dalių operatorius c

Sąlyginis/Ternaras operatorius C

Jį galima vizualizuoti kaip „jei-kita“ teiginį kaip:

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

Kadangi sąlyginis operatorius „?:“ veikia tris operandus, todėl jie taip pat vadinami trijų dalių operatoriai .

Pastaba: trijų dalių operatorius turi trečią mažiausią pirmenybę, todėl turime naudoti tokias išraiškas, kad galėtume išvengti klaidų dėl netinkamo operatorių pirmumo valdymo.

Sąlyginio / trijų operatoriaus darbas C

Sąlyginio operatoriaus darbas C yra toks:

    1 veiksmas: 1 išraiška yra sąlyga, kurią reikia įvertinti. 2A veiksmas: jei sąlyga ( Išraiška1 ) tada yra tiesa Išraiška2 bus įvykdyta mirties bausmė. 2B veiksmas: jei sąlyga ( Išraiška1 ) yra klaidinga Išraiška3 bus įvykdyta mirties bausmė. 3 veiksmas: rezultatai bus grąžinti.

Sąlyginio / trejeto operatoriaus struktūrinė schema C

Norėdami geriau suprasti, kaip veikia, galime išanalizuoti toliau pateiktą sąlyginio operatoriaus schemą.

c

Sąlyginio / trijų operatoriaus C schema

C trinarinio operatoriaus pavyzdžiai

1 pavyzdys: C Programa, skirta išsaugoti didžiausią iš dviejų skaičių, naudojant trijų dalių operatorių

C




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

Išvestis

m is greater than n that is 5>4 

2 pavyzdys: C Programa, skirta patikrinti, ar metai yra keliamieji metai, naudojant trijų dalių operatorių

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>

Išvestis

The year 1900 is not a leap year 

Išvada

Sąlyginis operatorius arba trijų dalių operatorius C paprastai naudojamas, kai mums reikia trumpo sąlyginio kodo, pvz., priskirti vertę kintamajam pagal sąlygą. Jį galima naudoti didesnėmis sąlygomis, tačiau programa taps labai sudėtinga ir neįskaitoma.

DUK apie sąlyginius / trijų tipų operatorius C

1. Kas yra trinaris operatorius C?

Trečias operatorius C yra sąlyginis operatorius, veikiantis trimis operandais. Jis veikia panašiai kaip if-else sakinys ir vykdo kodą pagal nurodytą sąlygą. Jis taip pat vadinamas sąlyginiu operatoriumi

2. Kuo naudingas sąlyginis operatorius?

Tai sumažina kodo eilutę, kai sąlyga ir teiginiai yra maži.