Исправить ошибки в коде - C (СИ) (72963)
Формулировка задачи:
Перескакивает через строчку. Подскажите пожалуйста что не так?
Листинг программы
- #include <stdio.h>
- int main ()
- {
- int x,y,z,d,i,o;
- printf("Хочешь немного уличной магии? О_о\n");
- printf ("1=Да,да Сенсей.. \n2=Нет,нет Дэвид Блэйн ,в рот мне ноги..\n");
- if ((x=getchar())=='1')
- printf("Загадай число\nЗагадал?\n1=ДА\t2=НЕТ\n");
- if ((y=getchar())=='1')
- printf("Умножай число на 8\nУмножил?\n1=ДА\t2=НЕТ\n");
- if ((z=getchar())=='1')
- printf("Прибавляй 2\nПрибавил?\n1=ДА\t2=НЕТ\n");
- if ((d=getchar())=='1')
- printf("Пиши что получилось!\n");
- i=getchar();
- o=(i-2)/8;
- printf("Твоё число = %d",o);
- return 0;
- }
Решение задачи: «Исправить ошибки в коде»
textual
Листинг программы
- while (getchar() != '\n');
Объяснение кода листинга программы
- В коде используется инструкция while, которая выполняет следующую проверку:
getchar() != '\n'
. getchar()
- это функция, которая читает один символ из стандартного ввода.'\n'
- это символ новой строки.- Если символ, прочитанный функцией
getchar()
, не равен символу новой строки, то выполняется тело цикла. - Тело цикла отсутствует в данном коде, поэтому ничего не происходит.
- Если символ, прочитанный функцией
getchar()
, равен символу новой строки, то цикл завершается. - Таким образом, данный код ожидает ввода данных с клавиатуры до нажатия клавиши Enter (символа новой строки).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д