Как работает else if? Что я сделал неправильно? - C (СИ)
Формулировка задачи:
Недавно начал учить С. Сегодня тренеровался и написал код:
Всё работало почти нормально, кроме того, что при вводе неправильной информации (каких нибуть символов) должно было вывести "system error", но вместо этого выводит "low energy". Возможно я не совсем разобрался с тем как работает else if, что я сделал неправильно?
#include <stdio.h>
#include <stdlib.h>
int main()
{
int energy;
scanf("%d",&energy);
if(energy<10)
printf("> low energy");
else if(energy==10)
printf("> norm energy");
else if(energy>10)
printf("> energy too high");
else{
printf("> system error");
}
return 0;
}Решение задачи: «Как работает else if? Что я сделал неправильно?»
textual
Листинг программы
if (scanf("%d", &energy) != 1)
{
printf("> system error");
return -1;
}
if (energy<10)
printf("> low energy");
else if (energy == 10)
printf("> norm energy");
else
printf("> energy too high");
Объяснение кода листинга программы
- Программа начинает с проверки ввода пользователя с помощью функции scanf(). Если пользователь ввел что-то, что не является целым числом, или ввел несколько значений, программа выведет сообщение об ошибке и завершит свое выполнение.
- Затем программа проверяет значение переменной
energy. Если оно меньше 10, программа выведет сообщение> low energy. - Если значение
energyравно 10, программа выведет сообщение> norm energy. - В противном случае, программа выведет сообщение
> energy too high.