首页 > 代码库 > 你了解gets()和scanf()吗

你了解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()吗