使用scanf()函数接收带空格的字符串

sanf()函数在接收字符串时,遇到空格就会停止接收。可以使用gets()函数代替,但也可以用以下方式解决:
比如:
int main()
{
char a[20];
scanf("%[^ ]",a);
puts(a);
return 0;
}
      这里主要介绍一个参数,%[ ],这个参数的意义是读入一个字符集合。[ ]是个集合的标志,因此%[ ]特指读入此集合所限定的那些字符,比如%[A-Z]是输入大写字母,一旦遇到不在此集合的字符便停止。如果集合的第一个字符是“^”,这说明读取不在“^“后面集合的字符,即遇到”^“后面集合的字符便停止。此时读入的字符串是可以含有空格的。( 表示换行符)

原文地址:https://www.cnblogs.com/wahy/p/7234948.html