![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
в чём разнится между следующим:
что лучше использовать, и почему? |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Лучше использовать getchar(), так как она заточена именно под чтение одного символа. scanf() - более универсальная функция. Поэтому код с ее использованием - больше.
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
кто-то ещё хочет добавить что-то?
|
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
что тебе больше нравится, то и используй, тут все зависит от твоего вкуса. |
|||
|
||||
| Greeen |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 710 Регистрация: 13.8.2006 Где: Петербург Репутация: 7 Всего: 18 |
Нельзя сказать что лучше, а что хуже. Зависит от ситуации. В приведенном примере ИМХО все равно.
-------------------- Подпись больше не нужна |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
ок, если говорить про скорость программы и размер выполняемого кода, то вообще абсолютно по барабану, что использовать. Ну можно сказать, что getchar() более читабельно смотрится. А вообще разговор ни о чем, типа: "Что лучше носить, кепку или панамку?" Вообщем то все равно, но в кепках вроде чаще ходят |
|||
|
||||
| Kuvaldis |
|
|||
![]() механик-вредитель ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1189 Регистрация: 16.6.2006 Где: Минск Репутация: 11 Всего: 61 |
Как правило, getchar() реализуется как макрос. Отсюда: код с getchar() не только меньше, но и быстрее (стек не трогаем)
-------------------- Помни - когда ты спишь, враг не дремлет Спи чаще и дольше, изматывай врага бессоницей |
|||
|
||||
| Lomir |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 58 Регистрация: 30.1.2007 Где: Lithuania::Kaunas Репутация: 1 Всего: 1 |
Незнаю как в С, но в С++ разница в скорости где то в 2-2,5 раза.
Считывание 10к символов со scanf("%c", &...) занело 6-6,5 сек, с getchar() и getc() тока 2,5 сек. |
|||
|
||||
| AndrRus |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 14.10.2006 Где: Санкт-Петербург Репутация: нет Всего: 1 |
На мой взгляд, все зависит от задачи. scanf более гибкий инструмент, например, слово "вектора" считать, как "тор" - и это довольно легко в реализации.
Это сообщение отредактировал(а) AndrRus - 28.3.2007, 10:53 |
|||
|
||||
| Novojiloff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.10.2006 Репутация: нет Всего: нет |
Вот в этом просто коде...
... getchar() нагло отказывается у меня работать
|
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
странно , у меня он пашет, но после него надо ставить
иначе следущий gets cчитает '\n' который оставил getchar. |
|||
|
||||
| Novojiloff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.10.2006 Репутация: нет Всего: нет |
to Ressac:
Спасибо! Теперь все ок Только вопрос, а что это за функция fflush(stdin) ? |
|||
|
||||
| ressac |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 345 Регистрация: 25.11.2006 Репутация: нет Всего: 1 |
fflush чистить буфер , тойсть по всей видимости getchar прочитал лишь одну букву и оставил в буфере НОВУЮ ЛИНИЮ (Enter или просто "\n" ), а gets() считывает эту новую линю,вот и получается фигня...
|
|||
|
||||
| Novojiloff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.10.2006 Репутация: нет Всего: нет |
Ясно
|
|||
|
||||
| Novojiloff |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 31.10.2006 Репутация: нет Всего: нет |
Странно, но здесь у меня getchar(); снова не пашет
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |