Drgata 2019-12-08 11:22 采纳率: 0%
浏览 161
已采纳

删除字符串中的字符,为什么运行出来是原答案?求大佬。。

#include<stdio.h>
#define N 100
int main()
{
    char a[N];
    char b;
    void delete(char *,char);

    printf("请输入字符串:"); 
    scanf("%s",a);
    printf("请输出要删除的字符:");
    getchar(); 
    scanf("%c",&b);
    printf("%s\n",a);
    delete(a,b);
    printf("%s",a);

    return 0;
}

void delete(char *p,char b)
{
    int i,j;
    for(i=0;i!='\0';i++){
        if(p[i]==b){
            for(j=i;j!='\0';j++){
                p[j]=p[j+1];
            }
        }
    }
}

  • 写回答

4条回答 默认 最新

  • 喜欢喝茶的猫 2019-12-08 11:33
    关注

    你得仔细捋一捋delete函数,for(i=0;i!='\0';i++)和for(j=i;j!='\0';j++)什么意思

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?