程序源~菜大侠 2022-08-30 13:22 采纳率: 68.4%
浏览 39
已结题

C语言编程:空格替换

img

img

img


刚学C,没看出来为什么这个报错,求详细讲解(C语言编程)(空格替换)

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-30 13:48
    关注

    首先应该是 char * i = str;
    其次应该是 * i = '%'。双引号是字符串,* i是字符,要用单引号
    最后你没用return 语句。
    根据上面的提示,你应该在函数内malloc分配字符串,将处理后的字符写入新字符串,然后return这个字符串

    char * replacespaces(char *str)
    {
        char * s = (char*)malloc(sizeof(char)*3000);
        int i=0,j=0;
        while(str[i] != '\0')
        {
            if(str[i] != ' ')
                s[j++] = str[i];
            else
            {
                s[j++] = '%';
                s[j++] = '2';
                s[j++] = '0';
            }
            i++;
        }
        s[j] = '\0';
        return s;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)
编辑
预览

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 8月31日
  • 已采纳回答 8月31日
  • 创建了问题 8月30日