字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%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;
}
转载于:https://blog.51cto.com/luoyafei/1709203