C语言中scanf与gets函数最大的区别在于:用gets可以输入带空格的字符串,用scanf不可以输入带空格的字符串。
#include<stdio.h>
int main()
{
char a[20] = { 0 };
scanf("%s", a);
printf("%s\n",a);
return 0;
}
仅输出前半部分
#include<stdio.h>
int main()
{
char a[20] = { 0 };
gets(a);
printf("%s\n",a);
return 0;
}
完整输出
事实上,gets不仅能接收空格,还能接收Tab制表符;scanf则既不能接收空格,也不能接收Tab。
两者都是遇到回车就结束接收。