logo

C++ ternær eller betinget operatør

I C++ er ternær eller betinget operatør (? :) er den korteste formen for å skrive betingede utsagn. Den kan brukes som en innebygd betinget setning i stedet for if-else for å utføre en betinget kode.

Syntaks for ternær operatør (? :)

Syntaksen til den ternære (eller betingede) operatoren er:



expression   ?     statement_1     :     statement_2;>

Som navnet antyder, fungerer den ternære operatoren på tre operander hvor

arrays java
  • uttrykk: Tilstanden skal vurderes.
  • statement_1 : Utsagn som vil bli utført hvis uttrykket evalueres til sant.
  • statement_2: Kode som skal utføres hvis uttrykket evalueres til usant.

// bilde

Ovennevnte setning fra den ternære operatøren tilsvarer if-else-setningen gitt nedenfor:



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

Eksempel på ternær operatør i C++

C++






// 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;> }>

endre navn katalog linux
>

>

Produksjon

Num - Test = 10>

I koden ovenfor har vi brukt den ternære operatoren for å tilordne verdien av variabelen på en avhengig av verdien til en annen variabel navngitt test.

Merk: Den ternære operatøren har tredje laveste prioritet, så vi må bruke uttrykkene slik at vi kan unngå feil på grunn av feil styring av operatørprioritet.

C++ Nested Ternary Operator

En nestet ternær operator er definert som å bruke en ternær operator inne i en annen ternær operator. Som if-else-setninger, kan den ternære operatoren også nestes inne i hverandre.

Eksempel på Nesting Ternary Operator i C++

I koden nedenfor finner vi det største av tre tall ved å bruke den nestede ternære operatoren.

C++


erstatte alt



// 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) A B: C);> > >cout <<>'Largest number is '> << maxNum << endl;> > >return> 0;> }>

>

>

Produksjon

Largest number is 39>

Som vi kan se er det mulig å legge ternære operatører inn i hverandre, men koden blir kompleks å lese og forstå. Så det er generelt unngått å bruke nestede ternære operatorer.

Bourne igjen skall

Dessuten bør den ternære operatøren bare brukes for kort betinget kode. For større kode bør de andre betingede setningene foretrekkes.