Функция gets( ) предназначена только для ввода символьных строк.
Функция имеет следующую структуру
сhar* gets( АС );
где АС – указатель на символьную строку, определяющий адрес для ввода строки.
Функция считывает с клавиатуры строку символов и помещает ее в оперативную память, начиная с адреса АС. Длина строки заранее неизвестна, но при этом не должна превышать числа ячеек, отведенных для хранения. Функция gets( ) завершает ввод строки при нажатии клавиши <Enter>. Функция не включает символ клавиши <Enter> в состав символьной строки и автоматически добавляет вместо него символ конца окончания ‘\0’.
При успешном завершении функция возвращает адрес строки или значение NULL в случае ошибки.
Например,
#include <stdio.h>
main( )
{
char name[40]; /* выделение памяти под строку */
printf(“Как Вас зовут? \n”); /* запрос на ввод */
gets(name); /* ввод и размещение имени в массив name */
printf(“Ваше имя: %s.\n”, name); /* вывод строки */
}
Программа введёт любое имя (включая пробелы). При этом пользователь обязан следить, чтобы длина имени не превышала 39 символов.
Аргументом функции, согласно описанию, является указатель. В нашем случае используется имя массива name, которое является указателем типа константа.