使用原型在c中用另一个字符替换一个字符

使用原型在c中用另一个字符替换一个字符,c,string,pointers,character,C,String,Pointers,Character,这就是你想要的。我郑重建议大家阅读一些基本的C编程主题,比如调用函数和声明字符数组。同时 void repl(char *string, char oldc, char newc); 对于任何有效指针(如string和索引(如i),表达式string[i]和*(string+i)是相等的。您的问题是?你甚至不调用这个函数。而且,你正在做一些非常不寻常的事情。许多初学者错误地使用赋值=而不是比较=。你做的正好相反。一个好的编译器应该能够警告你,如果没有,那么就启用更多的警告。最后,仔细看看循环条

这就是你想要的。我郑重建议大家阅读一些基本的C编程主题,比如调用函数和声明字符数组。同时

void repl(char *string, char oldc, char newc);

对于任何有效指针(如
string
和索引(如
i
),表达式
string[i]
*(string+i)
是相等的。您的问题是?你甚至不调用这个函数。而且,你正在做一些非常不寻常的事情。许多初学者错误地使用赋值
=
而不是比较
=
。你做的正好相反。一个好的编译器应该能够警告你,如果没有,那么就启用更多的警告。最后,仔细看看循环条件。。。这远远不正确,循环将(使用您可能想要使用的字符串)迭代73次。行
char text[60]={“我将用字符I替换字符a”
。这不需要存在,并且会导致编译问题。
void repl(char *string, char oldc, char newc);
#include "stdafx.h"
#include "stdio.h"
void repl(char *string, char oldc, char newc);

char text[60] = "I am going to replace the character a with the character i";
char newc = 'i';
char oldc = 'a';

int main()
{
    repl(text, oldc, newc);
    return 0;
}

void repl(char *string, char oldc, char newc)
{
    int i = 0;
    for (i = 0; string[i]; i++)
    {
        if (string[i] == oldc)
        {
            string[i] = newc;
        }
    }
    printf("%s", string);
}