scanf()与gets()的区别

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scanf()与gets()的区别相关的知识,希望对你有一定的参考价值。

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的字符串,不会自动忽略开头的所有空格或回车,并以回车结束。

 

以上是关于scanf()与gets()的区别的主要内容,如果未能解决你的问题,请参考以下文章

喵呜 来啦来啦:C语言gets(),scanf()与getchar()函数的区别

C语言 gets()和scanf()函数的区别

scanf() 与 gets()--转载

c++中scanf和cout有啥区别

要从键盘读入含有空格字符的字符串,应该用啥函数?A.getc() B.gets() C.getchar() D.scanf

getchar和putchar与scanf和printf的区别