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