字符串替换空格:
请实现一个函数,把字符数组中的每个空格替换成“%20”。
例如输入“we are happy.”,则输出“we%20are%20happy.”。
#include<stdio.h> #include<windows.h> void replace_black(char *str) { int count = 0;//统计空格个数 int newEnd = 0; int len = strlen(str); int oldEnd = len; char *ptr = str; while (*ptr) { if (*ptr == ' ') { count++; } ptr++; } newEnd = len + 2 * count; while (oldEnd < newEnd) { if (str[oldEnd] != ' ') { str[newEnd--] = str[oldEnd--]; } else { str[newEnd--] = '0'; str[newEnd--] = '2'; str[newEnd--] = '%'; oldEnd--; } } } int main() { char arr[20] = { "we are happy" }; replace_black(arr); printf("%s\n", arr); system("pause"); return 0; }