scanf()与gets()的区别

1、scanf()可以同时接受多个字符串,而gets()一次只能接受一个字符串。

 

#include<stdio.h>
int main()
{
  char s1[100],s2[100];
  sacnf("%s%s",s1,s2);//scanf能同时接收多个字符串
  gets(s1);
  gets(s2);//使用gets要分多次接收
  return 0;
}

2、scanf()可以不能接受带空格的字符串,而gets()能接受带空格的字符串。

3、scanf()不能接受长度为0的字符串,会自动忽略开头的所有空格,并且以空格、换行符、回车结束输入。

  而gets()能接受长度为0的字符串,不会自动忽略开头的所有空格或回车,并以回车结束。