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

img


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


#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

https://blog.csdn.net/bufanq/article/details/51567454
这里有你要的答案