Условный или тернарный оператор (? :) в C / C ++

Опубликовано: 29 Декабря, 2021

Условный оператор похож на оператор if-else, поскольку он следует тому же алгоритму, что и оператор if-else, но условный оператор занимает меньше места и помогает писать операторы if-else как можно более коротким способом.

Синтаксис:
Условный оператор имеет вид

 переменная = Выражение1? Выражение2: Выражение3

Это можно представить в виде оператора if-else как:

 если (Выражение1)
{
    переменная = Выражение2;
}
еще
{
    переменная = Выражение3;
}

Поскольку условный оператор '?:' Требует для работы трех операндов, их также называют тернарными операторами .
Работающий:
Здесь Expression1 - это условие, которое необходимо оценить. Если условие ( Выражение1 ) истинно, Выражение2 будет выполнено, и будет возвращен результат. В противном случае, если условие ( Выражение1 ) ложно, то Выражение3 будет выполнено, и будет возвращен результат.

Пример: программа для сохранения наибольшего из двух чисел.

C

// C program to find largest among two
// numbers using ternary operator
#include <stdio.h>
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;
}

C ++

// C++ program to find largest among two
// numbers using ternary operator
#include <iostream>
using namespace std;
int main()
{
// variable declaration
int n1 = 5, n2 = 10, max;
// Largest among n1 and n2
max = (n1 > n2) ? n1 : n2;
// Print the largest number
cout << "Largest number between " << n1
<< " and " << n2
<< " is " << max;
return 0;
}
Выход
 m больше n, то есть 5> 4

Хотите узнать о лучших видео и практических задачах, ознакомьтесь с базовым курсом C ++ для базового и продвинутого уровня C ++ и курсом C ++ STL для базового уровня плюс STL. Чтобы завершить подготовку от изучения языка к DS Algo и многому другому, см. Полный курс подготовки к собеседованию .
C++ C