如何让我的 replace_char 函数正常工作?
我在下面的函数中尝试的方式在 Ubuntu 中使用 gcc 返回段错误。
我尝试过其他方法,但每次尝试更改值时,我都会出错。
int main (void)
{
char* string = "Hello World!";
printf ("%s\n", string);
replace_char(string, 10, 'a');
printf ("%s\n", string);
}
void replace_char(char str[], int n, char c)
{
str[n] = c;
}
最佳答案
您的replace_char
函数没有任何问题。问题是您正在尝试修改字符串文字(“Hello World!”),这是未定义的行为。尝试制作字符串的副本,如下所示:
char string[] = "Hello World!";
关于c - 从函数中替换 char[] 中的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590098/