题解 | #替换空格#

替换空格

https://www.nowcoder.com/practice/0e26e5551f2b489b9f58bc83aa4b6c68

char* replaceSpace(char* s ) {
    //判空--保证代码的健壮性
    if(s==NULL) return NULL;
    
    int count=0;
    int i=0;
    int j=0;
    //计算s的长度
    int len=strlen(s);
    //计算替换后的长度
    while(s[i]!='\0')
    {
        count++;
        if(s[i]==' ')
        {
            count+=2;
        }
        i++;
    }
    //设立新的char Last并给它赋予一定的长度
    char *Last=(char*)malloc(sizeof(char)*count);
    //memset函数作用是Last首地址后count个字节赋予值0
    memset(Last,0,count);
    //开始替换
    for(int i=0;i<len;i++)
    {
        if(s[i]==' ')
        {
            Last[j]='%';
            Last[j+1]='2';
            Last[j+2]='0';
            j=j+3;
        }else
        {
            Last[j++]=s[i];
        }
    }
    return Last;
}



全部评论
最后不用在给新数组加一个\0吗?
点赞 回复 分享
发布于 2022-08-29 19:27 陕西

相关推荐

点赞 评论 收藏
分享
点赞 评论 收藏
分享
風に薫る:前阵子把一个面试时老托腮抖腿的挂了 太松弛真不行
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务