scanf()函数读取输入时,遇到空格或者回车结束读取;
所以输入的字符串中有空格,到空格就中断了;
根据资料,使用 "%[^\n]" 这样的格式化符遇到空格继续读取,直到敲了回车;
看一下;
cpp
#include <stdio.h>
int main()
{
char str1[80];
char str2[80];
scanf("%s", str1);
printf("str1 = %s\n",str1);
scanf("%[^\n]",str2); //读到'\n'结束读取
printf("str2 = %s\n",str2);
return 0;
}
输入AAA BBB CCC DDD,AAA读到了str1中,BBB CCC DDD读到了str2中;
我理解了一下,[]表示集合,^表示非,\n是换行符; 这是正则;
正则的^在方括号表达式中使用时,表示不接受该方括号表达式中的字符集合;