Исправить ошибки в коде - 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 (символа новой строки).