Как работает 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
.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д