这个函数用来干什么的,能不能详解一下strchr()在正当中的作用

char *s_gets(char *st, int n)
{
    char *ret_val;
    char *find;

    ret_val = fgets(st, n, stdin);
    if (ret_val)
    {
        find = strchr(st, '\n');
        if (find)
        {
            *find = '\0';
        }
        else
        {
            while (getchar() != '\n')
                continue;
        }
    }
    return ret_val;
}

这个函数用来干什么的,能不能详解一下strchr()在正当中的作用?
find = strchr(st, '\n');我好奇,find用来接收strchr返回值,我按了回车不是不能再输入了吗,哪来的值给你返回?

你的回车给了fgets。strchr是从st中找第一个'\n',并返回它的位置。

找到指定换行符,返回索引