Форум программистов, компьютерный форум CyberForum.ru

getchar () - C++

Восстановить пароль Регистрация
 
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
13.11.2011, 21:07     getchar () #1
C++
1
2
3
4
a = getchar ();
if ( a ==  'q' ) // действие 1 
a = getchar ();
if ( a == 'w' ) // действие 2
Почему не работает такая конструкция? Конечно легко обходится так:
C++
1
2
3
a = getchar ();
if ( a ==  'q' ) // действие 1 
else if ( a == 'w' ) // действие 2
Но хочу суть понять...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.11.2011, 21:07     getchar ()
Посмотрите здесь:

C++ getchar
[C++] аналог getchar() C++
C++ Getchar и putchar EOF
C++ Функция getchar!
Массив: функции getchar и putchar C++
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Jupiter
Каратель
Эксперт C++
6542 / 3962 / 226
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
13.11.2011, 21:08     getchar () #2
Цитата Сообщение от Krasti Посмотреть сообщение
Почему не работает
что вы подразумеваете под "не работает"?
Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
13.11.2011, 21:19  [ТС]     getchar () #3
Эмм.. Да, не правильно написал )) Работает, но некорректно. После компиляции ожидается ввод символа. Если ввести любой символ, то первое условие проверяется, а второй getchar просто пролетает, как будто его нет в коде. А если при запуске просто жмякнуть по энтеру, то прога ожидает считывание следующего символа от второго getchar

Добавлено через 1 минуту
А понять хочу почему после ввода символа "второй" гетчар уже игнорируется
Net_Wanderer
235 / 208 / 19
Регистрация: 08.06.2011
Сообщений: 467
13.11.2011, 21:20     getchar () #4
Цитата Сообщение от Krasti Посмотреть сообщение
А понять хочу почему после ввода символа "второй" гетчар уже игнорируется
после первого ввода, в потоке остается символ новой строки, который считывается следующим вызовом getchar()

Не по теме:

дежавю: [C++] Вопрос про ввод

Krasti
27 / 27 / 3
Регистрация: 07.11.2010
Сообщений: 140
13.11.2011, 21:40  [ТС]     getchar () #5
Цитата Сообщение от Net_Wanderer Посмотреть сообщение
после первого ввода, в потоке остается символ новой строки, который считывается следующим вызовом getchar()

Не по теме:

дежавю: [C++] Вопрос про ввод

Спасибо, разобрался!
Yandex
Объявления
13.11.2011, 21:40     getchar ()
Ответ Создать тему
Опции темы

Текущее время: 20:19. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru