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

例如输入“we are happy.”,则输出“we%20are%20happy.”

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void insert(char *arr)
{
	int i,size,len=0;
	size = strlen(arr);
	for(i=0;i<size;i++)
	{
		if(arr[i]==' ')
			len+=2;//每遇到一次空格,len自加2
	}
	len+=size;//len为插入%20后字符串的长度
	while(size<len)
	{
		if(arr[size]!=' ')
		{
			arr[len]=arr[size];//逆序输入字符串
			len--;
			size--;
		}
		else 
		{//空格处逆序插入%20
			arr[len--]='0';
			arr[len--]='2';
			arr[len--]='%';
			//以上三条语句等同于arr[len]='0';arr[len-1]='2';arr[len-2]='%';len--;
			size--;
		}
	}
}
int main()
{
	char arr[20]="we are happy.";
	insert(arr);
	printf("%s\n",arr);
	system("pause");
	return 0;
}