m0_71695206 2022-08-30 21:23 采纳率: 78.6%
浏览 73
已结题

C语言中删除指定字符串

我想要达到的结果

#include<stdio.h>
#include<stdlib.h>

void deletechar(char *str,char n)
{
char *head=str;
char *move=str;
while(move)
{
if( *move != n )
{
*head=*move;
head++;
}
move++;
}
*str='\0';
printf("%s",head);
}

int main()
{
printf("请从键盘中输入一个字符串\n");
char arr[10];
char c;
gets(arr);

printf("请输入要删除的字符\n");
scanf("%c",&c);

printf("删除后的字符串为:\n");
deletechar(arr,c);  

system("pause");
return 0;

}

删除字符串中指定元素,此代码哪里出错了呀?

  • 写回答

3条回答 默认 最新

  • qzjhjxj 2022-08-30 22:21
    关注

    供参考:

    #include<stdio.h>
    #include<stdlib.h>
    void deletechar(char *str,char n)
    {
        char *head=str;
        char *move=str;
        while(*move)   //while(move)
        {
            if(*move != n)
            {
                *head=*move;
                head++;
            }
            move++;
        }
        *head='\0';    //*str='\0';
        printf("%s",str); //printf("%s",head);
    }
    
    int main()
    {
        printf("请从键盘中输入一个字符串\n");
        char arr[10];
        char c;
        gets(arr);
    
        printf("请输入要删除的字符\n");
        scanf("%c",&c);
    
        printf("删除后的字符串为:\n");
        deletechar(arr,c);
    
        system("pause");
        return 0;
    }
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月8日
  • 已采纳回答 8月31日
  • 创建了问题 8月30日