Ваш print
является ошибкой копирования / вставки, верно? Это должно быть printf
.
И вам действительно не следует печатать пользовательскую строку непосредственно в формате printf.
Представьте, что пользователь вводит "%d%f%s\a%c"
...
Лучше всего сделать
printf("%s\n", input);
С форматом '\ n' вам не нужно fflush(stdout);
, потому что stdout является буферизованной строкой по умолчанию, а \ n 'делает это самостоятельно.
Кроме того, если пользователь печатает "%d%f%s\a%c"
, это то, что вы печатаете.
Лучшее, что можно сделать, это
puts(input);
Put добавляет '\ n' к выводу и не имеет проблем со строками формата.