Redamancy813 2021-12-29 23:13 采纳率: 100%
浏览 27
已结题

删除指定字符 为什么只能删掉一个,其他符合的删不掉


#include<stdio.h>
#include<string.h>
void DelChar(char *str,char c);
int main(){    
    char x;
    scanf("%c",&x);
    getchar();
    char a[100];
    gets(a);
    DelChar(a,x);
    puts(a);
    return 0;  
}
void DelChar(char *str,char c){
    int i,j,k;
    for(i=0;i<100;i++){
        if(str[i]==c){
            k=i;
            for(i=k;i<100;i++) 
                str[i]=str[i+1];    
            }
    }
}
  • 写回答

3条回答 默认 最新

  • 书山客 2021-12-29 23:23
    关注
    
    #include<stdio.h>
    #include<string.h>
    void DelChar(char* str, char c);
    int main() {
        char x;
        scanf("%c", &x);
        getchar();
        char a[100];
        gets_s(a);
        DelChar(a, x);
        puts(a);
        return 0;
    }
    void DelChar(char* str, char c) {
        int i, j, k;
        for (i = 0; i < 100; i++) {
            if (str[i] == c) {
                k = i;
                for (j = k; j < 100; j++)
                    str[j] = str[j + 1];
            }
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月6日
  • 已采纳回答 12月29日
  • 创建了问题 12月29日