JackII 发表于 2020-6-15 23:02:32

看的不是很懂

下面这个模块看着有点懵,有没有能帮忙人肉调试下的

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;
}

405794672 发表于 2020-6-16 10:20:02

本帖最后由 405794672 于 2020-6-16 10:23 编辑

返回字符地址的函数:
传入一个字符地址,一个整型变量
定义两个字符地址
第一个字符地址等于传入的字符地址,该地址存的字符为输入缓冲区的一行字符,并不超过n-1个
如果第一个字符地址不为0
第二个字符地址等于搜索传入的字符地址中回车键的位置
如果有(不为空)
第二个字符地址处的值填0(把回车改成0)
否则
继续在缓冲区获取字符(如果没有回车的话)
继续(这条似乎多余)
返回第一个字符地址。
页: [1]
查看完整版本: 看的不是很懂