Язык программирование Си - вводы и выводы
в чем различия между getchar() и scanf("%c" , ...) ?
Ответы (2 шт):
Автор решения: cool-stranger
→ Ссылка
Getchar считывает один символ, а scanf считывает строку. Также scanf считывает ещё некоторые типы данных.
Автор решения: Stanislav Volodarskiy
→ Ссылка
Функциональность совпадает: обе функции читают следующий символ из stdin. Применение различается довольно сильно:
char c;
if (scanf("%c", &c) == 1) {
process_char(c);
} else {
process_error();
}
// getchar возвращает int чтобы вы могли получить значение EOF в случае ошибки
int c = getchar();
if (c == EOF) {
process_error();
} else {
process_char(c);
}
Производительность различается заметно. scanf - одна из самых дорогих функций, getchar - одна из самых быстрых.