logo

Podmíněný nebo ternární operátor (?:) v C

The podmíněný operátor v C je trochu podobný příkazu if-else, protože se řídí stejným algoritmem jako příkaz if-else, ale podmíněný operátor zabírá méně místa a pomáhá psát příkazy if-else co nejkratším způsobem. To je také známé jako ternární operátor v C protože funguje na třech operandech.

Syntaxe podmíněného/ternárního operátoru v C

Podmíněný operátor může být ve tvaru



 variable = Expression1  ?  Expression2  :  Expression3 ;>

Nebo může být syntaxe také v této podobě

 variable = (condition)  ? Expression2  :  Expression3 ;>

Nebo syntaxe může být také v této podobě

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ;>
podmíněný nebo ternární operátor v c

Podmíněný/ternární operátor v C



Lze jej vizualizovat do příkazu if-else jako:

if(Expression1) { variable = Expression2; } else { variable = Expression3; }>

Protože podmíněný operátor ‚?:‘ potřebuje ke své činnosti tři operandy, proto se také nazývají ternární operátory .

nudný jedinečný

Poznámka: Ternární operátor má třetí nejnižší prioritu, takže musíme používat výrazy tak, abychom se vyhnuli chybám způsobeným nesprávnou správou priority operátorů.



Práce podmíněného/ternárního operátora v C

Fungování podmíněného operátoru v C je následující:

    Krok 1: Výraz1 je podmínka, která má být vyhodnocena. Krok 2A: Pokud je podmínka( Výraz1 ) je tedy pravda Výraz2 bude provedena. Krok 2B: Pokud je podmínka( Výraz1 ) je tedy nepravdivé Výraz3 bude provedena. Krok 3: Výsledky budou vráceny.

Vývojový diagram podmíněného/ternárního operátora v C

Pro lepší pochopení fungování můžeme analyzovat vývojový diagram podmíněného operátoru uvedený níže.

vývojový diagram podmíněného/ternárního operátoru v c

Vývojový diagram podmíněného/ternárního operátoru v C

Příklady ternárního operátora C

Příklad 1: C Program pro uložení největšího ze dvou čísel pomocí ternárního operátoru

C




matematika náhodná java

// 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;> }>

>

>

Výstup

m is greater than n that is 5>4>

Příklad 2: C Program pro kontrolu, zda je rok přestupným rokem pomocí ternárního operátoru

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>

>

vypsat uzel v Javě

>

Výstup

The year 1900 is not a leap year>

Závěr

Podmíněný operátor nebo ternární operátor v C se obecně používá, když potřebujeme krátký podmíněný kód, jako je přiřazení hodnoty proměnné na základě podmínky. Může být použit ve větších podmínkách, ale program bude velmi složitý a nečitelný.

Časté dotazy o podmíněných/ternárních operátorech v C

1. Co je ternární operátor v C?

Ternární operátor v C je podmíněný operátor, který pracuje na třech operandech. Funguje podobně jako příkaz if-else a provádí kód na základě zadané podmínky. Nazývá se také podmíněný operátor

2. Jaká je výhoda podmíněného operátoru?

Zmenšuje řádek kódu, když jsou podmínka a příkazy malé.