Det betinget operatør i C ligner på en måde if-else-sætningen, da den følger samme algoritme som if-else-sætningen, men den betingede operator tager mindre plads og hjælper med at skrive if-else-sætningerne på den kortest mulige måde. Det er også kendt som ternær operatør i C da den opererer på tre operander.
Syntaks for betinget/ternær operatør i C
Den betingede operator kan være i formen
variable = Expression1 ? Expression2 : Expression3 ;>
Eller syntaksen kan også være i denne form
variable = (condition) ? Expression2 : Expression3 ;>
Eller syntaks kan også være i denne form
(condition) ? (variable = Expression2) : (variable = Expression3) ;>

Betinget/ternær operatør i C
Det kan visualiseres i en if-else-sætning som:
if(Expression1) { variable = Expression2; } else { variable = Expression3; }> Da den betingede operatør '?:' tager tre operander for at fungere, kaldes de derfor også ternære operatører .
Bemærk: Den ternære operator har den tredje laveste prioritet, så vi skal bruge udtrykkene, så vi kan undgå fejl på grund af forkert styring af operatørprioritet.
Arbejde med betinget/ternær operatør i C
Funktionen af den betingede operatør i C er som følger:
- Trin 1: Udtryk1 er den betingelse, der skal evalueres. Trin 2A: Hvis betingelsen( Udtryk 1 ) er da sandt Udtryk 2 vil blive udført. Trin 2B: Hvis betingelsen( Udtryk 1 ) er da falsk Udtryk 3 vil blive udført. Trin 3: Resultater vil blive returneret.
Flowchart for betinget/ternær operatør i C
For at forstå arbejdet bedre kan vi analysere flowdiagrammet for den betingede operatør, der er angivet nedenfor.
understreng af streng java

Flowchart for betinget/ternær operatør i C
Eksempler på C ternær operatør
Eksempel 1: C Programmer til at gemme det største af de to tal ved hjælp af den ternære operator
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;> }> |
>
>Produktion
m is greater than n that is 5>4>
Eksempel 2: C Program til at kontrollere, om et år er et skudår ved hjælp af ternær operator
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> |
>
>Produktion
The year 1900 is not a leap year>
Konklusion
Den betingede operator eller ternære operator i C bruges generelt, når vi har brug for en kort betinget kode, såsom at tildele værdi til en variabel baseret på betingelsen. Det kan bruges under større forhold, men det vil gøre programmet meget komplekst og ulæseligt.
Ofte stillede spørgsmål om betingede/ternære operatører i C
1. Hvad er den ternære operator i C?
Den ternære operator i C er en betinget operator, der fungerer på tre operander. Det fungerer på samme måde som if-else-sætningen og udfører koden baseret på den angivne betingelse. Det kaldes også betinget operatør
2. Hvad er fordelen ved den betingede operatør?
Det reducerer kodelinjen, når betingelsen og udsagn er små.