Объясните работу выражения - C (СИ)
Формулировка задачи:
int a,b,k; a = 10; b = 30; k = a < b?1:0?10, printf("xxxxxxx"):20; printf("%d",k);
int a,b,k; a = 10; b = 3; k = a < b?1:0?10, printf("xxxxxxx"):20; printf("%d",k);
int a,b,k; a = 10; b = 3; k = a < b?1:2?10, printf("xxxxxxx"):20; printf("%d",k);
Решение задачи: «Объясните работу выражения»
textual
Листинг программы
k = a < b?1:0?10, printf("xxxxxxx"):20; k = a < b ? 1 : (false ? 10, printf("xxxxxxx") : 20); // 10 < 30 истинно значит k = 1, остальное не анализируется.
Объяснение кода листинга программы
- Сначала проверяется условие
a < b
. Если оно истинно, то переменнойk
присваивается значение 1, и выполнение кода продолжается. Если условие ложно, то выполняется следующая часть выражения. - Вторая часть выражения представлена вложенным тернарным оператором. В нем проверяется условие
false
. Поскольку оно истинно, то переменнойk
присваивается значение 10, и функцияprintf(
xxxxxxx)
вызывается с аргументомxxxxxxx
. - Если условие
false
ложно, то переменнойk
присваивается значение 20. - В итоге, переменной
k
присваивается значение 1 или 10, в зависимости от того, истинно ли условиеa < b
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д