задали дз. попросили написать тернарный оператор и if else на С что бы не делал пишет ошибки
Вот весь код.
#include <stdio.h>
// Тернарный оператор
char result = (num > 0) ? "Больше 0" : "Меньше 0";
// if-else
char* result;
if (num > 0) {
result = "Больше 0";
} else {
result = "Меньше 0";
}
Ошибки которые он выдаёт: 1.идентификатор "num" не определен (строка 4) 2.выражение должно иметь константное значение (строка 4) 3.требуется объявление (строка 8)
Ответы (1 шт):
Автор решения: DaYa
→ Ссылка
Ни разу не писал ничего на C. Но разобрав ваш пример, мне показалось странным что вы пытаетесь сохранить в переменную типа char
строку которая во всех языках программирования может хранить только один символ. То есть вы пытаетесь запихнуть например больше 0
в переменную которая может хранить только один символ, например "а"
Вместо этого используйте указатель на строку.
#include <stdio.h>
int main() {
int num = 5;
const char* result;
if (num > 0) {
result = "Больше 0";
} else {
result = "Меньше 0";
}
printf("%s\n", result);
return 0;
}
С использованием тернарного оператора это будет выглядеть так:
#include <stdio.h>
int main() {
int num = 5; // ваше значение
// Тернарный оператор
const char* result = (num > 0) ? "Больше 0" : "Меньше 0";
printf("%s\n", result);
return 0;
}