Здравствуйте.
Для информации — функция scanf в принципе не позволяет «ввести пустую строку». Функции форматированного ввода группы scanf в стандартной библиотеке языка С либо читают непустую последовательность данных, либо завершаются с ошибкой, не читая вообще ничего.
Если нужно дать возможность «вводить пустую строку» используйте функцию fgets и проверяйте результат на равенство строке "\n":
do
{
char name[255];
if (fgets(name, sizeof name, stdin) == NULL)
break;
if (strcmp(name, "\n") == 0) // пустая строка
break;
...
} while (1);
Имейте только к ввиду, что в случае смешивания форматированного (группа scanf) и неформатированного Вы можете получить некоторые особенности. Например, scanf будут оставлять во входном буфере символы перевода строки, которые вышеприведенный fgets будет обрабатывать как «ввод пустой строки». Т.е. между scanf и fgets буфер ввода надо чистить. А еще лучше не смешивать форматированный и неформатированный ввод вообще.
Добрый день. Меня заинтересовал ваш ответ "Здравствуйте.
Для информации — функция scanf в принципе не позволяет «ввести пустую строку». Функци..." на вопрос http://www.liveexpert.org/topic/view/3960357-zdravstvujte-pozhalujsta-podskazhite-kak-vvoditsya-pustaya-stroka-v-si. Можно с вами обсудить этот ответ?