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