#include <stdio.h>
#include <string.h>
/*str是传入传出参数*/
void Replace(char *str)
{
int i=0; /*用于表示数组对应的位*/
int blockNum = 0; /*空格的个数*/
int trueSize = 0;/*数组的上实际长度*/
int newSize = 0; /*空格被替换以后,数组的实际长度*/
if(str == NULL)
return;
/*1 判断数组的实际长度和数组中空格的个数*/
while(str[i++]!='\0') /*数组结束*/
{
trueSize++;
if(str[i]==' ')
blockNum++;
}
/*2 空格替换*/
newSize = trueSize + blockNum*2;
/*从后往前遍历*/
while(trueSize>=0 && newSize>trueSize)
{
if(str[trueSize]==' ')
{
str[newSize--] = '0';
str[newSize--] = '2';
str[newSize--] = '%';
}
else
str[newSize--] = str[trueSize];
trueSize--;
}
}
int main()
{
char arr[30] = "good good study";
int size = sizeof(arr) / sizeof(arr[0]);
int i = 0;
Replace(arr);
for (; i < size; i++)
{
printf("%c", arr[i]);
}
printf("\n");
return 0;
}
替换空格
最新推荐文章于 2022-05-23 15:16:32 发布