Niebezpieczeństwa związane z użyciem% * c do wyczyszczenia bufora scanf

Czy istnieją zagrożenia związane z użyciem% * c w scanf (), aby wyczyścić bufor w razie potrzeby.

Na przykład:

char c;
for (int i = 0; i < 5; i++) {
  scanf("%c%*c", &c);
}

Lub

char* str;
char c;
int i;
scanf("%s", str);
scanf("%d%*c", &i);
scanf("%c%*c", &c);

Czy należy się martwić o przepełnienie bufora lub inne problemy z bezpieczeństwem? Wydaje się, że nie ma formalnej dokumentacji użycia gwiazdki w scanf w ten sposób dla C (EDYTOWAĆ To nie jest prawda), więc mam problem z ustaleniem, co dokładnie dzieje się z wprowadzanymi dodatkowymi znakami. Czy jest lepszy sposób na wyczyszczenie bufora scanf w C?

questionAnswers(3)

yourAnswerToTheQuestion