Исправить ошибки в коде - 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');

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

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

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


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

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

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