Dlaczego funkcja get jest tak niebezpieczna, że ​​nie powinna być używana?

Kiedy próbuję skompilować kod C, który używagets() funkcja z GCC,

rozumiem

ostrzeżenie:

(.text + 0x34): warning: funkcja `gets 'jest niebezpieczna i nie powinna być używana.

Pamiętam, że ma to coś wspólnego z ochroną stosu i bezpieczeństwem, ale nie wiem dokładnie, dlaczego?

Czy ktoś może mi pomóc w usunięciu tego ostrzeżenia i wyjaśnić, dlaczego istnieje takie ostrzeżenie dotyczące używaniagets()?

Jeśligets() jest tak niebezpieczny, dlaczego nie możemy go usunąć?

questionAnswers(11)

yourAnswerToTheQuestion