char *gets(char *str)
Функция gets() считывает символы из stdin и помещает их в массив символов, на который указывает str. Символы считываются до тех, пока не встретится новая строка или EOF. Символ «новая строка» не делается частью строки, а транслируется в нулевой символ, завершающий строку.
В случае успеха gets() возвращает str, в противном случае она возвращает NULL. В случае ошибки по чтению содержимое массива, на который указывает str, не определено.
Поскольку NULL возвращается как в случае ошибки, так и при достижении конца файла, то следует использовать feof() или ferror(), чтобы выяснить, что именно произошло.
Количество символов, считываемых gets(), не ограничивается. Поэтому программист должен сам следить за тем, чтобы не выйти за границы массива, на который указывает str.