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

来源:互联网 发布:红辣椒电影数据分析 编辑:程序博客网 时间:2024/03/29 14:25

要在字符数组中间加上%20,首先要定义两个数组arr和arr2,arr1用来存放原字符,而arr2用来存放加完%20 之后的字符

接下来就是函数的实现了:

当arr不为0时,进入while循环,

如果arr不是空格时,那么就将arr1的拷贝给arr2,

如果遇到空格的时候,就要在arr2后面加上%20 ,而arr2就向后面移动三个位置

最后判断*arr2如果是’\0‘的时候就结束!

接下来是完整的代码

#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<stdlib.h>#include<assert.h>#include<string.h>int my_change(char *arr1,char *arr2){while (*arr1){if (*arr1 != ' '){*arr2 = *arr1;arr2++;}else{strcpy(arr2, "%20");arr2 = arr2 + 3;}arr1++;}*arr2 = '\0';return 0;}int main(){char arr1[] = "we are happy.";char arr2[40];my_change(arr1,arr2);printf("%s", arr2);return 0;}

运行结果如下:

 

0 0