gpt4 book ai didi

c - 替换指向 char 数组的指针中的字符

转载 作者:太空宇宙 更新时间:2023-11-04 07:07:16 26 4
gpt4 key购买 nike

<分区>

好吧,我只想知道为什么我的程序总是崩溃,我想做的就是遍历指向 char 数组的指针,用新字符替换旧字符,并返回我替换它的次数:

int main(void) { 
char *s = "hello";
printf("%lu\n",str_replace_all(s,'e','f'));
printf("%s",s);
return 0;
}

size_t str_replace_all(char *s,int oldc,int newc) {
size_t count = 0;
for(;*s != '\0'; s++) {
if(*s == oldc) {
*s = newc;
count++
}
}
return count;
}

这可以通过 gcc -ansi -W -Wall -pedantic 正常编译,但是当我运行它时它崩溃了:段错误(核心已转储)我需要帮助弄清楚发生了什么,谢谢!

P.S 预期输出为 hfllo

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