logo

Умовний або тернарний оператор (?:) у C

The умовний оператор у C начебто схожий на оператор if-else, оскільки він дотримується того самого алгоритму, що й оператор if-else, але умовний оператор займає менше місця та допомагає написати оператори if-else у найкоротший спосіб. Він також відомий як тернарний оператор у C оскільки він працює з трьома операндами.

Синтаксис умовного/тернарного оператора в C

Умовний оператор може бути у формі

 variable = Expression1  ?  Expression2  :  Expression3 ;>

Або синтаксис також може бути в цій формі



 variable = (condition)  ? Expression2  :  Expression3 ;>

Або синтаксис також може бути в цій формі

 (condition)  ?  (variable = Expression2)  :  (variable = Expression3) ;>
умовний або тернарний оператор у c

Умовний/тернарний оператор у C

Це можна візуалізувати в операторі if-else як:

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

Оскільки умовний оператор «?:» використовує для роботи три операнди, тому вони також викликаються тернарні оператори .

Примітка. Потрійний оператор має третій найнижчий пріоритет, тому нам потрібно використовувати вирази, щоб уникнути помилок через неправильне керування пріоритетом операторів.

Робота умовного/тернарного оператора в C

Робота умовного оператора в C виглядає наступним чином:

    Крок 1: Вираз1 – це умова, яку потрібно оцінити. Крок 2A: Якщо умова ( Вираз1 ) тоді є Правдою Вираз2 буде виконано. Крок 2B: Якщо умова ( Вираз1 ) тоді є хибним Вираз3 буде виконано. Крок 3: Результати будуть повернуті.

Блок-схема умовного/тернарного оператора в C

Щоб краще зрозуміти роботу, ми можемо проаналізувати блок-схему умовного оператора, наведену нижче.

блок-схема умовного/тернарного оператора в c

Блок-схема умовного/трійкового оператора в C

Приклади тернарного оператора C

Приклад 1: C Програма для збереження найбільшого з двох чисел за допомогою тернарного оператора

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

>

>

Вихід

m is greater than n that is 5>4>

приклад 2: C Програма для перевірки того, чи є рік високосним за допомогою тернарного оператора

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>

>

>

Вихід

The year 1900 is not a leap year>

Висновок

Умовний оператор або тернарний оператор у C зазвичай використовується, коли нам потрібен короткий умовний код, наприклад, присвоєння значення змінній на основі умови. Його можна використовувати у великих умовах, але це зробить програму дуже складною та нечитабельною.

Поширені запитання щодо умовних/тернарних операторів у C

1. Що таке тернарний оператор у C?

Тернарний оператор у C — це умовний оператор, який працює з трьома операндами. Він працює подібно до оператора if-else і виконує код на основі вказаної умови. Його також називають умовним оператором

2. У чому перевага умовного оператора?

Це зменшує рядок коду, коли умова та оператори малі.