Ehdollinen tai kolmiosainen operaattori (?:) C:ssä
The ehdollinen operaattori C:ssä on tavallaan samanlainen kuin if-else-lause, koska se noudattaa samaa algoritmia kuin if-else-lause, mutta ehdollinen operaattori vie vähemmän tilaa ja auttaa kirjoittamaan if-else-lauseet lyhyimmällä mahdollisella tavalla. Se tunnetaan myös nimellä kolmiosainen operaattori C:ssä koska se toimii kolmella operandilla.
Ehdollisen/Ternaarisen operaattorin syntaksi C:ssä
Ehdollinen operaattori voi olla muodossa
variable = Expression1 ? Expression2 : Expression3 ;
Tai syntaksi voi olla myös tässä muodossa
variable = (condition) ? Expression2 : Expression3 ;
Tai syntaksi voi olla myös tässä muodossa
(condition) ? (variable = Expression2) : (variable = Expression3) ;
Ehdollinen/kolmiomainen operaattori C:ssä
Se voidaan visualisoida if-else-lauseeksi seuraavasti:
if(Expression1) { variable = Expression2; } else { variable = Expression3; } Koska ehdollinen operaattori '?:' ottaa käyttöön kolme operandia, niitä kutsutaan myös kolmiosaiset operaattorit .
Huomautus: Kolmannella operaattorilla on kolmanneksi alhaisin prioriteetti, joten meidän on käytettävä lausekkeita siten, että voimme välttää virheellisen operaattorin ensisijaisuuden hallinnan aiheuttamat virheet.
Ehdollisen/Ternaarisen operaattorin työskentely C:ssä
Ehdollisen operaattorin toiminta C:ssä on seuraava:
- Vaihe 1: Lauseke1 on arvioitava ehto. Vaihe 2A: Jos ehto ( Ilmaisu 1 ) on sitten totta Ilmaisu 2 teloitetaan. Vaihe 2B: Jos ehto ( Ilmaisu 1 ) on silloin väärä Ilmaisu 3 teloitetaan. Vaihe 3: Tulokset palautetaan.
Vuokaavio ehdollisista/kolmeista operaattorista C:ssä
Ymmärtääksemme toimintaa paremmin voimme analysoida alla olevan ehdollisen operaattorin vuokaavion.
Vuokaavio ehdollisesta/kolmiosaisesta operaattorista C:ssä
Esimerkkejä C-kolmiooperaattorista
Esimerkki 1: C Ohjelma tallentaa kahdesta numerosta suurimman käyttämällä kolmiosaista operaattoria
C
// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> > int> m = 5, n = 4;> > > (m>n) ?>> ,> > m, n)> > :> printf> (> 'n is greater than m that is %d>%d'> ,> > n, m);> > > return> 0;> }> |
Lähtö
m is greater than n that is 5>4
Esimerkki 2: C Ohjelma tarkistaa, onko vuosi karkausvuosi kolmioperaattorilla
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> |
Lähtö
The year 1900 is not a leap year
Johtopäätös
Ehdollista operaattoria tai kolmiosaista operaattoria C:ssä käytetään yleensä, kun tarvitsemme lyhyttä ehdollista koodia, kuten arvon määrittämistä muuttujalle ehdon perusteella. Sitä voidaan käyttää isommissa olosuhteissa, mutta se tekee ohjelmasta erittäin monimutkaisen ja lukukelvottoman.
Usein kysytyt kysymykset ehdollisista/ternary-operaattoreista C
1. Mikä on kolmiosainen operaattori C:ssä?
Kolmiosainen operaattori C:ssä on ehdollinen operaattori, joka toimii kolmella operandilla. Se toimii samalla tavalla kuin if-else-käsky ja suorittaa koodin määritetyn ehdon perusteella. Sitä kutsutaan myös ehdolliseksi operaattoriksi
2. Mikä on ehdollisen operaattorin etu?
Se vähentää koodiriviä, kun ehto ja lauseet ovat pieniä.