gpt4 book ai didi

c - 替换字符串中的一个字符

转载 作者:行者123 更新时间:2023-11-30 20:00:41 24 4
gpt4 key购买 nike

#include <stdio.h>
#include <string.h>
void replace (char a[]){
char *y;
*y = 'm';
char *p = a;
p = strchr(p, 'g');
while (p){
*p = *y;
p++;
p = strchr(p, 'g');
}
}

int main (){
char x[10];
gets(x);
replace(x);
puts(x);
return 0;
}

这个替换函数有什么问题吗?它不输出字符串,而是显示段错误。

最佳答案

您正在尝试写入 wild pointer这里:

char *y;
*y = 'm';

y 没有指向任何特定位置,因此您会得到未定义的行为(特定情况下的段错误)。

关于c - 替换字符串中的一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41196874/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com