第一种:
#include<stdio.h>
#include<string.h>
char* s_gets(char* st, int n);
int main(void)
{
char st[80];
int i = 0;
while (i < 5)
{
puts(s_gets(st, 5));
i++;
}
return 0;
}
/***************************************************/
char *s_gets(char *st,int n)//第一种
{
char* ret_val;
char* find;
ret_val = fgets(st, n, stdin);
if (find = strchr(st, '\n'))
*find = '\0';
else
while (getchar() != '\n')
//continue;
return ret_val;
}
/******************************************************/
char *s_gets(char *st,int n)//第二种
{
char* ret_val;
ret_val = fgets(st, n, stdin);
while(*st!='\n'&&*st!='\0')
st++;
if(*st=='\n')
*st = '\0';
else
while(getchar()!='\n')
continue;
return ret_val;
}
/*************************************************/
char *s_gets(char *st,int n)//第三种
{
char* ret_val;
int i=0;
ret_val = fgets(st, n, stdin);
while(st[i]!='\n'&&st[i]!='\0')
i++;
if(st[i]=='\n')
st[i] = '\0';
else
while(getchar()!='\n')
continue;
return ret_val;
}