|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
|||||||||||
getchar28.11.2010, 18:47. Показов 7757. Ответов 38
Метки нет (Все метки)
Не пойму почему getchar 2-ой раз запрашивает ввести строку, я же написал в цикле условие, что выполняется, если ch!=10
0
|
|||||||||||
| 28.11.2010, 18:47 | |
|
Ответы с готовыми решениями:
38
getchar () Getline, getchar Функция getchar() в С++ |
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||||||
| 28.11.2010, 23:55 | ||||||
int делается, чтобы программа не путала символ 0xFF и константу EOF
0
|
||||||
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
||
| 29.11.2010, 00:32 [ТС] | ||
Добавлено через 17 минут accept что такое nsclen
0
|
||
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
|
| 29.11.2010, 00:41 [ТС] | |
|
Я и так знаю(потому что я проверял) с помощью getchar() можно ввести строку но считывает и возвращает он 1 символ и читает он пока не найдет символ 10 включительно
0
|
|
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
|
| 29.11.2010, 00:43 | |
|
Lotles, Угу. Буферизованный ввод это называется.
Ввод идет до тех пор пока не будет получен символ перевода на новую строку - дальше из буфера береться по одному символу.
0
|
|
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
|||
| 29.11.2010, 00:52 [ТС] | |||
Или скажите в чем ошибка(в главном коде)
0
|
|||
|
26 / 25 / 10
Регистрация: 26.11.2010
Сообщений: 57
|
|
| 29.11.2010, 00:53 | |
|
2
|
|
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
||||||
| 29.11.2010, 01:00 [ТС] | ||||||
|
Блин какая глупая ошибка
Молодец ! Ошибки нет, а почему getchar() просил ввести символ я так и не понял ну хотя догадываюсь
А чо это 2 разных переменныъ в памяти размещ-ся с одним именем Так ?
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||||||
| 29.11.2010, 01:11 | ||||||
|
Lotles, Локальная переменная цикла перекрывала локальную переменную функции.
Т.е.
0
|
||||||
|
26 / 25 / 10
Регистрация: 26.11.2010
Сообщений: 57
|
||
| 29.11.2010, 01:18 | ||
|
2. В цикле ты обьявляешь новый!!! ch. Затем выходим из цикла: происходит разрушение нового!!! ch 3.Заходим опять в цикл и проверяем ch обьявленную заранее, т.е. =0, на предмет равенства(бесконечный цикл однако)
0
|
||
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
||||||||||||||||
| 29.11.2010, 01:46 [ТС] | ||||||||||||||||
|
Все таки до конца не понял
Объявили char ch; потом
Далее:
0
|
||||||||||||||||
|
26 / 25 / 10
Регистрация: 26.11.2010
Сообщений: 57
|
||
| 29.11.2010, 01:51 | ||
|
Вот и компилятор берет ch который был обьявлен до цикла. ИМХО, такие вещи лучше делать через do while
0
|
||
|
2 / 2 / 0
Регистрация: 29.12.2009
Сообщений: 167
|
||||||
| 29.11.2010, 02:19 [ТС] | ||||||
|
А как вобще такое возможно 2 переменных и 2 одинаковых имени
Вот здесь например нельзя 2 одинаковых переменных объявить
0
|
||||||
|
В астрале
8049 / 4806 / 655
Регистрация: 24.06.2010
Сообщений: 10,562
|
||
| 29.11.2010, 02:23 | ||
|
Lotles, Области видимости. Это все области видимости...
Добавлено через 1 минуту Мое же объяснение из одной из соседних тем...
0
|
||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 29.11.2010, 02:27 | ||
но тебе по ходу нужно продвигаться даже пока i < nsclen - 1, так как нуль-символ потом ещё пишешь
0
|
||
|
|
||||||||
| 29.11.2010, 09:40 | ||||||||
|
Добавлено через 1 минуту блин, страницу не обновил, не увидел сколько понаписали. Добавлено через 12 минут Только что сам проверил, все правильно работает как с ch!=10 , так и с ch!='\n'. Добавлено через 44 секунды
0
|
||||||||
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
|
| 29.11.2010, 09:58 | |
|
https://www.cyberforum.ru/post1151124.html
getchar() нужно вынести из тела цикла, потому что он может не сработать и значит в строку записывать его результат не надо
0
|
|
|
|
|
| 29.11.2010, 10:23 | |
|
accept, да действительно, если в потоке остается например '\n' после cin'а, то эти две записи (та, что была изначально и та, котороую предложили вы) ведут себя по разному. Но посути в таком случае не от той не от другой толку нет (строка не заполниться). Поэтому практичней самому следить за состоянием потока (например вставлять cin.ignore() там, где надо), после этого в ф-ции можно использовать любую запись цикла (как душе угодно))
0
|
|
|
4866 / 3287 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
|
||
| 29.11.2010, 10:38 | ||
0
|
||
| 29.11.2010, 10:38 | |
|
[C++] аналог getchar() Функция getchar! getchar() в linux функции getchar() и putchar() как работает getchar() ? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Море в объективе
kumehtar 06.07.2026
Хотел написать много проникновенных слов, но передумал.
Оно само - говорит.
Кто слышит тот слышит.
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|