gpt4 book ai didi

将一个数组的某些内容复制到另一个数组,而不重复所包含的数据

转载 作者:行者123 更新时间:2023-11-30 18:08:20 26 4
gpt4 key购买 nike

大家好,我有两个数组,我想将一些数据从第一个数组复制到第二个数组,而不重复第二个数组中的任何值。有人可以告诉我我在这里没有得到什么吗?

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

main()
{
char *hours;
char *strl;
hours = {0,0,0,0,1,1,2,2,2,5,5,10,10,10,10,10,.,.,.,23};

strl=calloc(100,sizeof(char));

sprintf(strl, "%d", hours);

if(strcmp(strl, hours))
{
if(*strl)
strcpy(strl,hours);
}
printf("%s ",strl;
}

最佳答案

您可能想做的事情更像是:

char *dst = strl;
char *cur = hours;
char prev = '\0';
while(*cur) {
if(*cur != last) {
prev = *dst = *cur;
dst++;
}
cur++;
}

哦,是的,正如其他人所指出的,您的数组不是以 '\0' 终止的,因此标准字符串函数不起作用(就此而言,我的循环也不起作用)。

其次,标准 C 库函数都无法实现您想要的功能...我将由您来修复我的循环。 (请注意,仅当数组已排序时才有效)

关于将一个数组的某些内容复制到另一个数组,而不重复所包含的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3512915/

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