scanf("%s",str1)与 gets(str1)的读取原理区别
#include<stdio.h>#include<stdlib.h>
#include<string.h>
int main()
{
char str1[20];
printf("请输入字符串str1:");
scanf("%s",str1);
// gets(str1);
printf("%s",str1);
system("pause");
return 0;
}
问题: 采用scanf("%s",str1)输入:键盘输入的字符串中有空格或者制表符则不能完全读取
示例:输入One World!后,printf只显示One??????
但是gets()可以完全接受,因为它读取以换行符为结束标志的。