Вы уже прошли большой путь,если всё усвоили и регулярно практиковались-то наверняка вы в состоянии писать неплохие программы.Да,они простые и выполняют лишь одну задачу в консоли,но это создаёт большой плацдарм для более крупных программ.
Сегодня я вас познакомлю с любимой многими программистами тернарной операцией.Сперва разберём что же это такое.
До сих пор мы использовали только унарные и бинарные операции,то есть с одним или двумя выражениями.
Унарная операция:
int a=10;
//просто вызвали число зачем-то.Зачем-непонятно
//вы в замешательстве,компилятор в замешательстве,
//люди,которые откапают ваш код спустя миллион лет
//будут просто биться в догадках
a;
Одно выражение-унарная операция.Пример конечно не серьёзный,более серьёзный пример операция инкремента:
a++;
Бинарная операция:
int a=10;
int b=12;
int c=a+b;
И всё это бинарная операция,слева у нас один аргумент,справа другой.Всё просто.
Тернарная же операция принимает три выражения,сравнивая их.С её помощью можно в одну строчку заменить два условия от if/else.
Как это работает:
В скобках логическое выражение/сравнивание,после знак вопроса,что выполнить в случае истины,двоеточие,что выполнить в случае лжи.
(выражение)? истина : ложь;
int a=10;
int b=12;
(a==b)? printf("Equal!\n") : printf("Not equal!\n");
Прелесть данного оператора в том,что это,неожиданно оператор.То есть его можно вернуть из функции.
Как это можно сделать вам придётся поразмыслить самим.
В заключение добавлю,раз уж это оператор-это значит результат его выполнения можно легко сохранить в переменную:
int a=10;
int b=12;
char *c=(a==b)?"Equal" : "Not equal";
printf("%s\n",c);
Проверьте что будет.
С вами был D21nkMaster.Всего доброго!