你了解gets()和scanf()吗

Posted 米琪儿

tags:

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

gets()和scanf()联系:都可以用于输入字符串;

1、scanf()

语法:scanf("格式控制字符串",变量地址列表);

接受字符串时:scanf("%s",字符数组名或指针);

2、gets()

语法:gets(字符数组名或指针);

区别:scanf遇到空格、回车和Tab键都会认为输入结束,所有它不能接收空格;

gets遇到回车认为输入结束,可以接收空格。

下面丢出一个程序:

 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <string.h>
 4 int main()
 5 {
 6     int i=0,j=0;
 7     char s1[80],s2[40];
 8     printf("input string1:");
 9     gets(s1);//遇到回车认为输入结束
10     //scanf("%s",s1);//遇到空格认为输入结束
11     printf("input string2:");
12     gets(s2);
13     //scanf("%s",s2);
14     /*strcat(s1,s2);//直接用strcat函数实现
15     puts(s1);*/
16     while(s1[i]!=\0)
17         i++;
18     while(s2[j]!=\0)
19         s1[i++]=s2[j++];
20     s1[i]=\0;
21     puts(s1);
22     //printf("\nnew string is:%s\n",s1);
23     system("pause");
24     return 0;
25 }

 

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

关于scanf 与 cin gets(),getline()......输入输出字符串的区别

在简单方程中用 scanf 替换 get 会使程序崩溃

scanf() 与 gets()--转载

getchar(),gets(),scanf()的差异比较

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

C语言gets()问题