首页 > 代码库 > gets函数与scanf函数区别

gets函数与scanf函数区别

gets函数和scanf函数都可以作为字符串的输入函数,
相同点:都是将从键盘输入的字符串存入数组中,输入完成后要以回车来结束输入。
不同点:利用sanf时,在输入过程中碰到空格时系统认为输入结束,并将空格之前的字符作为有效字符存入数组中,并在尾部追加\0作为结束标志。
利用gets时,空格符被看作是有效字符,也就是说只有碰到回车符时系统才认为输入结束。
#include <stdio.h>#include <string.h> void main() {/*gets与scanf的区别是gets一次读一行,scanf遇到空格回车结束*/  int length;  char str1[100000];  gets(str1);  length=strlen(str1);  printf("str1=%s  length=%d\n",str1,length);  char str2[15];  scanf("%s",str2);  length=strlen(str2);  printf("str2=%s  length=%d\n",str2,length); }