题目//要求写一个函数将字符串中的空格替换为%20.样例“abc efgx yz转换成abc%20efgx%20yz”#includestdio.h #includewindows.h #includeassert.h void replace(char *src) { assert(src); int oldlen 0; //原字符串长度 int newlen 0; //新字符串长度 int blacknum 0; //空格数量 int newback 0; //新字符串尾部 int oldback 0; //原字符串尾部 while (src[oldlen] ! \0) { if (src[oldlen] ) { blacknum; } oldlen; } newlen oldlen blacknum * 2; oldback oldlen - 1; newback newlen - 1; while (oldback ! 0){ if (src[oldback] ){ src[newback--] 0; src[newback--] 2; src[newback] %; } else{ src[newback] src[oldback]; } oldback--; newback--; } } int main(){ char p[20] abc defgx yz; replace(p); printf(%s\n, p); system(pause); return 0; }运行结果