Menu
Coddy logo textTech

Тернарный условный оператор

Часть раздела Fundamentals путешествия по C на Coddy. Урок 29 из 63.

Тернарный условный оператор — это краткий способ записать инструкцию if-else в одну строку.

Синтаксис:

condition ? value_if_true : value_if_false;

Давайте рассмотрим пример. Сначала приведён традиционный оператор if-else:

int max;
if (a > b) {
    max = a;
} else {
    max = b;
}

Теперь давайте перепишем это с использованием тернарного оператора:

int max = (a > b) ? a : b;

В этом примере:

  • a > b — это условие
  • Если условие истинно, возвращается a
  • Если условие ложно, возвращается b

Тернарный оператор также может быть вложенным, но это может затруднить чтение кода:

int x = (a > b) ? ((a > c) ? a : c) : ((b > c) ? b : c);
challenge icon

Задание

Легко

Создайте программу, которая проверяет, является ли number positive, negative или zero, используя conditional operator. Программа должна:

  1. Принять целое число от пользователя.
  2. Использовать conditional operator, чтобы определить, является ли number positive, negative или zero.
  3. Вывести результат в формате: "The number is [positive/negative/zero]".

Попробуйте сами

#include <stdio.h>

int main() {
    int number;
    scanf("%d", &number);
    
    // Напишите ваш код ниже
    // Замените текст-заполнитель на условное выражение
    char* result = "zero";
    
    printf("The number is %s\n", result);
    return 0;
}
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Fundamentals

Потренируйтесь самостоятельно: Онлайн-компилятор C