请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。
被卡住!
研究了半天,发现原来是使用scanf("%s", )模式无法接收到空格
要用gets(str)函数!
#include<stdio.h>
#include<string.h>
int main(){
char str[100];
while(gets(str)){
int num;
for(num=0;str[num]!='\0';num++){
}
for(int i=0;i<num;i++){
if(str[i]==' '){
for(int j=num;j>i;j--){
str[j+2]=str[j];
}
str[num+3]='\0';
str[i]='%';
str[++i]='2';
str[++i]='0';
num+=3;
}
}
int k=0;
while(str[k]!='\0'){
printf("%c",str[k]);
k++;
}
printf("\n");
}
}