scanf
的以下两次调用之间的区别是什么?我应该何时使用其中一种?
scanf(" %[^\n]", word);
scanf(" %s", word);
答案 0 :(得分:3)
\n
用于读取字符串,直到达到%s
或EOF。空格可以包含在字符串中。
char word[100];
scanf("%99s", word); /* don't forget to reserve a space for terminating null-character */
用于读取字符串,直到达到空格或EOF。
最好指定要读取的最大长度,以避免缓冲区溢出,如下所示:
{{1}}