logo

C++ kolmiosainen tai ehdollinen operaattori

C++:ssa kolmiosainen tai ehdollinen operaattori (?:) on lyhin muoto ehdollisten lauseiden kirjoittamiseen. Sitä voidaan käyttää sisäisenä ehdollisena lauseena if-else-lausekkeen sijasta jonkin ehdollisen koodin suorittamiseksi.

Kolmiosaisen operaattorin syntaksi (?:)

Kolmiosaisen (tai ehdollisen) operaattorin syntaksi on:



expression   ?     statement_1     :     statement_2;>

Kuten nimestä voi päätellä, kolmiosainen operaattori toimii kolmella operandilla missä

  • ilmaisu: Kunto arvioitava.
  • lausunto_1 : Lause, joka suoritetaan, jos lausekkeen arvo on tosi.
  • lausunto_2: Suoritettava koodi, jos lausekkeen arvo on epätosi.

// kuva

Yllä oleva kolmiosaisen operaattorin lause vastaa alla olevaa if-else-lausetta:



  if   ( condition ) {     statement1;  }   else   {    statement2;  }>

Esimerkki kolmiosaisesta operaattorista C++:ssa

C++






ei tulosignaalia

// C++ program to illustrate the use of ternary operator> #include> using> namespace> std;> > int> main()> {> > >// creating a variable> >int> num, test = 40;> > >// assigning the value of num based on the value of test> >// variable> >num = test <10 ? 10 : test + 10;> > >printf>(>'Num - Test = %d'>, num - test);> > >return> 0;> }>

>

>

Lähtö

Num - Test = 10>

Yllä olevassa koodissa olemme käyttäneet kolmiosaista operaattoria muuttujan arvon määrittämiseen yhdellä riippuen toisen nimetyn muuttujan arvosta testata.

Huomautus: Kolmiosaisella operaattorilla on kolmanneksi pienin prioriteetti, joten meidän on käytettävä lausekkeita siten, että voimme välttää virheellisen operaattorin ensisijaisuuden hallinnan aiheuttamat virheet.

C++ sisäkkäinen kolmiosainen operaattori

Sisäkkäinen ternäärinen operaattori määritellään käyttämään kolmiosaista operaattoria toisen ternäärisen operaattorin sisällä. Kuten if-else-lauseet, kolmiosainen operaattori voidaan myös upottaa toistensa sisään.

Esimerkki sisäkkäisestä kolmiosaisesta operaattorista C++:ssa

Alla olevasta koodista löydämme suurimman kolmesta numerosta käyttämällä sisäkkäistä kolmiosaista operaattoria.

C++




poista angular cli

// C++ program to find the largest of the three number using> // ternary operator> #include> using> namespace> std;> > int> main()> {> > >// Initialize variable> >int> A = 39, B = 10, C = 23;> > >// Evaluate largest of three using ternary operator> >int> maxNum> >= (A>B)? ((A> C) - A: C): ((B> C) - B: C);>> >cout <<>'Largest number is '> << maxNum << endl;> > >return> 0;> }>

>

>

Lähtö

Largest number is 39>

Kuten näemme, on mahdollista sijoittaa kolmiosaisia ​​operaattoreita toisiinsa, mutta koodin lukeminen ja ymmärtäminen on monimutkaista. Joten yleensä vältetään sisäkkäisten kolmiosaisten operaattoreiden käyttöä.

Lisäksi kolmiosaista operaattoria tulisi käyttää vain lyhyille ehdollisille koodeille. Suuremman koodin tapauksessa muita ehdollisia lausekkeita tulisi suosia.