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指向的内存空间里