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

C语言编程:空格替换

img

img

img


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

  • 写回答

2条回答 默认 最新

  • 快乐鹦鹉 2022-08-30 21: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日

悬赏问题

  • ¥15 java map类型数据格式,如何快速通过前缀匹配元素
  • ¥15 stc12c5a60s2、QMC5883L、LCD1602组合测量磁场所需程序
  • ¥15 vba参数转c++ SAFEARRAY
  • ¥20 Win11测试yolov4,“找不到nvcuda.dll”怎么办?
  • ¥15 simulink绘制bode图
  • ¥15 php_network_getaddresses: getaddrinfo failed: Name or service not known
  • ¥15 用msg发消息出现的问题
  • ¥15 unity3d机械臂
  • ¥20 判断两个表是否完全相同
  • ¥20 工控机出现散热器转一下停一下这种情况,是什么原因造成的