#include <stdio.h>
int replace(char *str,int strsize){
int blanknum;
char *p;
p = str;
while(*p != '\0'){
if (*p == ' '){
blanknum++;
}
}
int len = strsize + 2 * blanknum;
for (int i = strsize; i>=0; i--){
if (str[i] == ' '){
str[len]= "0";
len--;
str[len] = "2";
len--;
str[len] = "%";
len--;
}else{
str[len] = str[i];
len--;
}
}
}
int main(){
char str[10] = "a b c";
replace(str, 5);
for (int i = 0;i<10;i++){
printf("%c",str[i]);
}
}
第1个回答 2018-12-03
#include <stdio.h>
int replace(char *str,int strsize){
int blanknum;
char *p;
p = str;
while(*p != '\0'){
if (*p == ' '){
blanknum++;
}
}
int len = strsize + 2 * blanknum;
for (int i = strsize; i>=0; i--){
if (str[i] == ' '){
str[len]= '0';
len--;
str[len] = '2';
len--;
str[len] = '%';
len--;
}else{
str[len] = str[i];
len--;
}
}
}
int main(){
char str[10] = "a b c";
replace(str, 5);
for (int i = 0;i<10;i++){
printf("%c",str[i]);
}
}
char 类型赋值用' ' 不是" "
int replace(char *str,int strsize){
int blanknum;
char *p;
p = str;
while(*p != '\0'){
if (*p == ' '){
blanknum++;
}
}
int len = strsize + 2 * blanknum;
for (int i = strsize; i>=0; i--){
if (str[i] == ' '){
str[len]= '0';
len--;
str[len] = '2';
len--;
str[len] = '%';
len--;
}else{
str[len] = str[i];
len--;
}
}
}
int main(){
char str[10] = "a b c";
replace(str, 5);
for (int i = 0;i<10;i++){
printf("%c",str[i]);
}
}
char 类型赋值用' ' 不是" "
第2个回答 2017-02-28
从错误的提示来看,你是要把数组或者指针转换成字符来用了,而函数本身要求的参数类型是字符,最好贴点代码上来,不要多,就是定义和调用的部分就行。
这种问题一般都是基本的小问题追问
这种问题一般都是基本的小问题追问
贴代码上来了呀,您帮忙看一下
本回答被网友采纳