Operador condicional o ternari (?:) en C

Operador condicional o ternari (?:) en C

El operador condicional en C és una mica similar a la declaració if-else, ja que segueix el mateix algorisme que la declaració if-else, però l'operador condicional ocupa menys espai i ajuda a escriure les declaracions if-else de la manera més curta possible. També es coneix com el operador ternari en C ja que opera sobre tres operands.

Sintaxi de l'operador condicional/ternari en C

L'operador condicional pot tenir la forma

 variable = Expression1  ?  Expression2  :  Expression3 ; 

O la sintaxi també pot tenir aquesta forma

 variable = (condition)  ? Expression2  :  Expression3 ; 

O la sintaxi també pot tenir aquesta forma

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ; 
operador condicional o ternari en c

Operador condicional/ternari a C

Es pot visualitzar en una declaració if-else com:

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

Atès que l'operador condicional '?:' necessita tres operands per funcionar, per tant també s'anomenen operadors ternaris .

Nota: l'operador ternari té la tercera precedència més baixa, de manera que hem d'utilitzar les expressions de manera que puguem evitar errors a causa d'una gestió inadequada de la precedència de l'operador.

Funcionament de l'operador condicional/ternari en C

El funcionament de l'operador condicional en C és el següent:

    Pas 1: Expression1 és la condició a avaluar. Pas 2A: si la condició ( Expressió 1 ) és cert aleshores Expressió 2 s'executarà. Pas 2B: si la condició ( Expressió 1 ) és falsa aleshores Expressió 3 s'executarà. Pas 3: es retornaran els resultats.

Diagrama de flux de l'operador condicional/ternari en C

Per entendre millor el funcionament, podem analitzar el diagrama de flux de l'operador condicional que es mostra a continuació.

diagrama de flux de l

Diagrama de flux de l'operador condicional/ternari en C

Exemples d'operador ternari C

Exemple 1: C Programa per emmagatzemar el més gran dels dos nombres mitjançant l'operador ternari

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

Sortida

m is greater than n that is 5>4 

Exemple 2: C Programa per comprovar si un any és un any de traspàs mitjançant operador ternari

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>

Sortida

The year 1900 is not a leap year 

Conclusió

L'operador condicional o l'operador ternari en C s'utilitza generalment quan necessitem un codi condicional curt, com ara assignar valor a una variable en funció de la condició. Es pot utilitzar en condicions més grans, però farà que el programa sigui molt complex i il·legible.

Preguntes freqüents sobre operadors condicionals/ternaris a C

1. Quin és l'operador ternari en C?

L'operador ternari en C és un operador condicional que treballa amb tres operands. Funciona de manera similar a la instrucció if-else i executa el codi en funció de la condició especificada. També s'anomena Operador condicional

2. Quin és l'avantatge de l'operador condicional?

Redueix la línia de codi quan la condició i les declaracions són petites.