>>1
Quoting from Rationale for International Standard—Programming Languages—C, revision 5.10:
[quote]7.19.7.7 The gets function
Because gets does not check for buffer overrun, it is generally unsafe to use when its input is
not under the programmer’s control. This has caused some to question whether it should appear
in the Standard at all. The Committee decided that gets was useful and convenient in those
special circumstances when the programmer does have adequate control over the input, and as
longstanding existing practice, it needed a standard specification. In general, however, the
preferred function is fgets (see §7.19.7.2).[/quote]