logo

Operatore condizionale o ternario (?:) in C

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 o ternario in c

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

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.