IL operatore condizionale in C è un po' simile all'istruzione if-else in quanto segue lo stesso algoritmo dell'istruzione if-else ma l'operatore condizionale occupa meno spazio e aiuta a scrivere le istruzioni if-else nel modo più breve possibile. È anche conosciuto come il operatore ternario in C poiché opera su tre operandi.
Sintassi dell'operatore condizionale/ternario in C
L'operatore condizionale può essere nel formato
variable = Expression1 ? Expression2 : Expression3 ;>
Oppure anche la sintassi può essere in questa forma
variable = (condition) ? Expression2 : Expression3 ;>
Oppure anche la sintassi può essere in questa forma
(condition) ? (variable = Expression2) : (variable = Expression3) ;>

Operatore condizionale/ternario in C
Può essere visualizzato in un'istruzione if-else come:
if(Expression1) { variable = Expression2; } else { variable = Expression3; }>
Poiché l'operatore condizionale '?:' richiede tre operandi per funzionare, quindi vengono anche chiamati operatori ternari .
Nota: l'operatore ternario ha la terza precedenza più bassa, quindi dobbiamo utilizzare le espressioni in modo da evitare errori dovuti a una gestione impropria della precedenza degli operatori.
Funzionamento dell'operatore condizionale/ternario in C
Il funzionamento dell'operatore condizionale in C è il seguente:
- Passaggio 1: Expression1 è la condizione da valutare. Passaggio 2A: se la condizione ( Espressione1 ) è vero allora Espressione2 verrà eseguito. Passaggio 2B: se la condizione ( Espressione1 ) è quindi falso Espressione3 verrà eseguito. Passaggio 3: verranno restituiti i risultati.
Diagramma di flusso dell'operatore condizionale/ternario in C
Per capirne meglio il funzionamento possiamo analizzare il diagramma di flusso dell'operatore condizionale riportato di seguito.

Diagramma di flusso dell'operatore condizionale/ternario in C
Esempi di operatore ternario C
Esempio 1: C Programma per memorizzare il maggiore dei due numeri utilizzando l'operatore ternario
C
// C program to find largest among two> // numbers using ternary operator> > #include> > int> main()> {> > int> m = 5, n = 4;> > > (m>N) ?> printf> (> '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;> }> |
>
>Produzione
m is greater than n that is 5>4>
Esempio 2: C Programma per verificare se un anno è bisestile utilizzando l'operatore ternario
C
puntatore di dereferenziazione
// 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> |
>
>Produzione
The year 1900 is not a leap year>
Conclusione
L'operatore condizionale o operatore ternario in C viene generalmente utilizzato quando abbiamo bisogno di un codice condizionale breve come l'assegnazione di un valore a una variabile in base alla condizione. Può essere utilizzato in condizioni più grandi ma renderà il programma molto complesso e illeggibile.
Domande frequenti sugli operatori condizionali/ternari in C
1. Cos'è l'operatore ternario in C?
L'operatore ternario in C è un operatore condizionale che funziona su tre operandi. Funziona in modo simile all'istruzione if-else ed esegue il codice in base alla condizione specificata. È anche chiamato operatore condizionale
2. Qual è il vantaggio dell'operatore condizionale?
Riduce la riga di codice quando la condizione e le istruzioni sono piccole.