logo

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 .

1 de 1000

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'operador condicional/ternari en c

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++ int a cadena

// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> >int> m = 5, n = 4;> > >(m>n) ?>>>(>'m is greater than n that is %d>%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


cadena a la data



// 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.

closca de tornada

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.