Форум программистов, компьютерный форум, киберфорум
C для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
3 / 3 / 0
Регистрация: 02.02.2012
Сообщений: 6
1

Пропуск ввода символа.

02.02.2012, 20:10. Показов 4180. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здраствуйте.
Требуется ввести целое число и символ и вывести их. Пишу:

C
1
2
3
4
5
        int i;
        char c;
        scanf("%d", &i);
        c=getchar();
        printf("\n%d %c\n", i, c);
Однако ж ввод символа пропускается. Не помогает и такой вариант:

C
1
2
3
4
        int i;
        char c;
        scanf("%d%с", &i, &c);
        printf("\n%d %c\n", i, c);
Но вот так все работает:

C
1
2
3
4
        int i;
        char c;
        scanf("%d %с", &i, &c); //отличие от предыдущего - добавлен пробел между %d и %c
        printf("\n%d %c\n", i, c);
С чем это связано?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.02.2012, 20:10
Ответы с готовыми решениями:

Пропуск символа в тексте
Здравствуйте! Помогите пожалуйста разобраться: есть программа для считывания txt файла и есть сам...

Пропуск ввода в цикле
Приветствую всех. Помогите найти ошибку, цикл должен принимать строку и заносить ее в ассоциативный...

Пропуск ввода переменной
Приветствую! Задача такова: при объявлении переменных мы уже задаём им значения (они необходимы...

Пропуск ввода строки
Функция: cout << "Введите логин:"; string Login; getline(cin, Login); cout << "Введите...

1
Модератор
Эксперт С++
13682 / 10890 / 6467
Регистрация: 18.12.2011
Сообщений: 29,063
02.02.2012, 20:20 2
После выполнения scanf() указатель стоит на символе конца строки.
Поэтому, getchar() читает это символ конца строки.
scanf("%d%с", &i, &c);
Считает символ, введенный как ограничитель числа,
а
scanf("%d %с", &i, &c);
соответственно это символ пропускает.
0
02.02.2012, 20:20
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2012, 20:20
Помогаю со студенческими работами здесь

cin.getline пропуск ввода
Стыдно 3 раз за сегодня обращаться по мелким проблемам, но увы, гугл не помогает. Сама проблема...

Пропуск ввода данных в переменную
//--------------------------------------------------------------------------- #include <vcl.h>...

Исключение IOException, которое появляется при ввода буквенного символа в методе ввода с клавиатуры целых чисел
Ввожу в catch IOException, а не нравится, что делать? import java.io.IOException; import...

"Неожиданный" пропуск ввода при заполнении пользователем полей в массиве объектов типа "Student"
Здравствуйте. Решил создать небольшой класс "Студент" с массивом объектов. При первом прохождении...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru