【发布时间】:2013-10-08 10:30:33
【问题描述】:
我想在 scanf() 函数中使用无限类型说明符 (%c)。
例如-
printf("Enter characters: \t");
scanf("--SPECIFIERS--");
所以它不确定用户将输入多少字符。我不希望我的程序询问用户“字符数”.. 但我想允许任何字符数。但它不可能在scanf() 中输入无限的%c。谁能告诉我如何在 C 中做到这一点?
【问题讨论】:
-
%s将字符串读入缓冲区。 -
@us2012:
%s跳过前导空格并在一系列非空格字符后的第一个空格处停止。 -
或者更简单,将
scanf(%s,s)替换为gets(s) -
@BenoitBlanchon:用肥皂或消毒剂漱口,如果你有一些非常讨厌的味道的话。不要永远向任何人推荐
gets()。它不再是标准C(C11),这是一场安全灾难。建议fgets()。 -
从不(!)使用gets()。甚至在一个扔掉的例子中。