【c语言】字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”

来源:互联网 发布:mongodb 知乎 编辑:程序博客网 时间:2024/04/29 07:17
//  字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%20”。//  例如输入“we are happy.”,则输出“we%20are%20happy.”#include <stdio.h>#include <assert.h>char*  replace(char* p){char* ret = p;int num = 0;int oldlen = 0;int newlen = 0;char* q = p;char* r;assert(p != NULL);while (*p != '\0'){if (*p == ' '){num++;}oldlen++;p++;}p = q;newlen = oldlen + 2 * num;q = p + oldlen - 1;r = p + newlen - 1;while (q != r){if (*q == ' '){*r-- = '0';*r-- = '2';*r-- = '%';}else{*r = *q;r--;}q--;}return ret;}int main(){char p[20] = "we are happy.";printf("原字符串是:%s\n", p);printf("替换后的字符串是:%s\n", replace(p));return 0;}<img src="http://img.blog.csdn.net/20150704100218180?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" />

0 0