字符串替换空格:请实现一个函数,把字符串中的每个空格替换成“%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; }