gpt4 book ai didi

c - 使用指针删除单词上的相似字母

转载 作者:行者123 更新时间:2023-11-30 16:31:27 25 4
gpt4 key购买 nike

我只是想问,我的代码有什么问题,为什么它说段错误(核心转储)?我试图筛选所有相似的字母,只打印不相似的字母。这是我的代码(带有我教授的骨架代码)这是原始指令:“删除 s 中所有出现的 c 并返回结果。”

#include <stdio.h>

char* clean(char* s,int c);

int main()
{
clean("banana",'x');
return 0;
}

char* clean(char* s,int c)
{
for(int i = 0; i < 6; i++)
{
if(s[i] != c)
{
printf("c",s);
s[i]++;
}
}
return s;
}

最佳答案

因为

s[i]++;

s 引用 "banana" (字符串文字),并且您正在尝试修改它。修改字符串文字具有未定义的行为,并且在许多系统上它只会崩溃,因为编译器将字符串文字放在只读内存中。

使用 gcc,您可以使用 -Wwrite-strings 来获取有关此类代码的警告。

关于c - 使用指针删除单词上的相似字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50554818/

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