Очистка стандартного ввода в C, когда он может быть или не быть пустым

Я студент-программист, ищу способ избавиться от персонажей, которые могут зависать в stdin. Я попробовал технику, которая была дана здесь в различных формах, где вы делаете что-то вроде этого:

void clearStdIn(void) 
{
    char c;
    while((c = getchar()) != '\n' && c != EOF)
        /* discard */ ;
}

Кажется, проблема в том, что если в начале ничего не находится в stdin, эта функция бездельничает, ожидая, пока пользователь нажмет ввод, прежде чем поток управления сможет двигаться дальше. Что я должен делать?

Ответы на вопрос(3)

Ваш ответ на вопрос