Исправить ошибки в коде - C (СИ) (72963)

Узнай цену своей работы

Формулировка задачи:

Перескакивает через строчку. Подскажите пожалуйста что не так?
Листинг программы
  1. #include <stdio.h>
  2. int main ()
  3. {
  4. int x,y,z,d,i,o;
  5. printf("Хочешь немного уличной магии? О_о\n");
  6. printf ("1=Да,да Сенсей.. \n2=Нет,нет Дэвид Блэйн ,в рот мне ноги..\n");
  7. if ((x=getchar())=='1')
  8. printf("Загадай число\nЗагадал?\n1=ДА\t2=НЕТ\n");
  9. if ((y=getchar())=='1')
  10. printf("Умножай число на 8\nУмножил?\n1=ДА\t2=НЕТ\n");
  11. if ((z=getchar())=='1')
  12. printf("Прибавляй 2\nПрибавил?\n1=ДА\t2=НЕТ\n");
  13. if ((d=getchar())=='1')
  14. printf("Пиши что получилось!\n");
  15. i=getchar();
  16. o=(i-2)/8;
  17. printf("Твоё число = %d",o);
  18. return 0;
  19. }

Решение задачи: «Исправить ошибки в коде»

textual
Листинг программы
  1. while (getchar() != '\n');

Объяснение кода листинга программы

  1. В коде используется инструкция while, которая выполняет следующую проверку: getchar() != '\n'.
  2. getchar() - это функция, которая читает один символ из стандартного ввода.
  3. '\n' - это символ новой строки.
  4. Если символ, прочитанный функцией getchar(), не равен символу новой строки, то выполняется тело цикла.
  5. Тело цикла отсутствует в данном коде, поэтому ничего не происходит.
  6. Если символ, прочитанный функцией getchar(), равен символу новой строки, то цикл завершается.
  7. Таким образом, данный код ожидает ввода данных с клавиатуры до нажатия клавиши Enter (символа новой строки).

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут