gets函数原型:
函数返回类型为字符串的地址char*
gets函数特点:
1: 接收换行符之前的所有字符,直到遇到'\n'或'\0'为止
所以有时运用scanf不能输入(原因:scanf遇到空格停止,而gets函数遇到空格不停止)
2: 函数会自动的把'\n'转化为'\0'( 个人认为比较重要 )
具体运用:
下面的代码是针对输入的N个字符串,输出其中最小的字符串。
#include <stdio.h>
#include <string.h>
int main()
{
?? ?int n = 0;
?? ?char s[81] = { '\0' };
?? ?char min[81] = { '\0' };
?? ?int i = 0;
?? ?int len = 0;
?? ?scanf("%d",&n);
?? ?getchar();
?? ?gets(min);
?? ?for( i = 1 ; i < n ; i++)
?? ?{
?? ??? ?gets(s);? // 因为gets函数会自动将'\n'转化为 '\0' , 所以不需要将字符数组全部化为'\0'
'\0'对strcmp函数和strcpy函数有较大影响
?? ??? ?if( strcmp( min , s ) > 0 )
?? ??? ?{
?? ??? ??? ?strcpy(min,s);
?? ??? ?}
?? ?}
?? ?printf("Min is: %s",min);
?? ?return 0;
}
3:?将字符串储存在str指向的内存空间里