gets--receives a string of characters from the standard input, ends with ' \ n ', but does not receive ' \ n ', retains ' \ n ' the input buffer, stores the received string of characters in the space pointed to by the formal parameter pointer, and automatically adds a '/s ' at the end.
getchar--receives one character from the standard input, and the extra characters are all left in the input buffer.
fgets--receives a string of characters from a file or standard input, ends with ' \ n ', and receives ' \ n ' as a character; stores a string of characters that are received in the space that the form parameter pointer points to, and then automatically adds a '/s ' after ' \ n '.
Simply put, the get is receiving a string that does not end with ' \ n ', GetChar is receiving any character (including ' \ n '), and Fgets is receiving a string that ends with ' \ n '.
The use of gets, Getschar and fgets in C and the difference between them