m0_65822347 2022-04-07 23:57 采纳率: 100%
浏览 78
已结题

C语言在字符串str中删除所有字符c

在字符串str中删除所有字符c,返回数组元素个数
救命每次返回字符串的时候怎么都少掉第一位啊
#include <stdio.h>
#include <string.h>
int StrDelChar(char str[], char c){
int p=0,q=0;
while((str+p)!='\0'){
p++;
if(
(str+p)!=c){
(str+(q++))=(str+p);
}
}
return q;
}
int main(){
char s[1000],c;
int n, i = 0;
while ((s[i++] = getchar()) != '\n');
s[i - 1] = 0;
c = getchar();
n = StrDelChar(s, c);
printf("%d %s", n,s);
return 0;
}

img

  • 写回答

3条回答 默认 最新

  • 华东设计之美 优质创作者: 信息安全技术领域 2022-04-08 00:11
    关注
    
    #include <stdio.h>
    #include <string.h>
    int StrDelChar(char str[], char c){
    int p=0,q=0;
    while((str+p)!='\0'){
    if((str+p)!=c){
    (str+(q++))=(str+p);
    }
    
    p++;
    
    }
    return q;
    }
    int main(){
    char s[1000],c;
    int n, i = 0;
    while ((s[i++] = getchar()) != '\n');
    s[i - 1] = 0;
    c = getchar();
    n = StrDelChar(s, c);
    printf("%d %s", n,s);
    return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月16日
  • 已采纳回答 4月8日
  • 创建了问题 4月7日