gets()功能说明:从输入缓冲区读取一个字符串存储在指针变量str所指的内存空间
/*模仿gets()和fgets()的功能说明
*/
#include<stdio.h>
/*函数的声明*/
char *MyGets(char *p,int n);
int main(void)
{
char str[10]={0};//字符数组初始化位0
MyGets(str,10);//调用函数
printf("%s",str);//输出字符串
return 0;
}
char *MyGets(char *p,int len)
{
*(p+len-1)='\0';//字符数组最后一个字符为结束标志符
*(p+len-2)='\n';//换行功能 当输入的字符串长度小于puts
for (int i=0;i<len-2;i++)
{
*(p+i)=getchar();//输入
/*当输入的字符小于len-2时,应该为其补充为'\0'*/
if(*(p+i)=='\n')
{
for (int j=i+1;i<len-2;i++)
{
*(p+j)='\0';
}
}
}
return p;
}