gpt4 book ai didi

c - 删除重复的字符串

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

我需要帮助来删除重复的字符串。我的代码几乎就在那里,它输出唯一的字符串然后崩溃,你自己看看。我怎样才能阻止这种情况发生?

#include <stdio.h>
#include <string.h>

int main(void)
{
char array[4][4]={"cat","mat","sat","mat"};
int i, j, k;
int a=4;

for (i = 0;i < a; i++)
{
for (j = i + 1; j < 4;)
{
if (strcmp(array[j],array[i])==0)
{
for (k = j; k < a; k++)
{
strcpy(array[k],array[k+1]);
}

a--;
}

else
j++;
}
}

for (i = 0; i < a; i++)
{
printf("%s", array[i]);
}

return (0);
}

最佳答案

如果您使用调试器单步调试您的程序,您会发现以下是您的问题:

strcpy(array[k],array[k+1]);

k == 3 时,您正尝试访问 array 边界之外的元素作为 strcpy 的第二个参数:

array[k+1]

关于c - 删除重复的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25223766/

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