bug还在等待救援 2021-12-17 13:34 采纳率: 81.8%
浏览 48

c语言怎么用一个函数查找字符并且替换啊

img


我不知道怎么在字符串里查找字符,用指针应该怎么做啊。
这个应该不用像字符串的替换一样麻烦把

  • 写回答

2条回答 默认 最新

  • 五一编程 2021-12-17 14:05
    关注
    
    #include <stdio.h>
    
    char *strchange(char * str, char c1,char c2);
    
    void main() {
    
        printf("输入字符串:");
    
        char str[255];
    
        scanf("%s", str);
    
        char c1, c2;
    
        printf("输入欲替换的字符:");   
    
        getchar();
    
        scanf("%c",&c1);
    
     
    
        printf("输入被替换为字符:");
    
        getchar();
    
        c2 = getchar();
    
        char *s = strchange(str, c1, c2);
    
        printf("%s", s);
    
        free(s);
    
        scanf("%s", str);
    
     
    
    }
    
    char *strchange(char * str, char c1, char c2) {
    
        int len=0;
    
        for (; str[len]; len++);
    
        if (len == 0)
        {
    
           char *s = (char*)malloc(sizeof(char));
    
           s[0]=0;
    
            return s;
    
          }
    
        char *s = (char*)malloc(sizeof(char)*(len + 1));
    
        for (int i = 0; i < len; i++)
    
        {
    
            if (str[i] == c1)
    
                s[i] = c2;
    
            else
    
            {
    
                s[i]=str[i];
    
            }
    
        }
    
        s[len] = 0;
    
        return s;
    
    }
    

    运行结果:

    img

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 12月17日