C语言问题求助!!!路过的看下辣

2019-07-21 06:55发布

现在我想完成一个函数:将一串数据传入函数中,定义一个数组,如果该数据不存在数组中,则将其加进数组,如果数组中有这个数据,则跳过。
传入的数据是 u8*str形式的

类似于这样:

定义一个数组---->
void DataCompare(u8*str)
{
      判断传进来的数据是否在数组中,如果在的话就跳过,如果不在数组中则添加进数组中
}

这个判断的要用到算法吗???
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
11条回答
245925587
1楼-- · 2019-07-21 15:52
用字符串查找函数 strstr , if(strstr("你的字符串数组",str_1_固定的字符串)!=NULL)就说明该字符串中有 ,如果不成立,就把其加入数组中去
warship
2楼-- · 2019-07-21 21:28
你定义的数组呢?
是一个全局变量数组吗?
如果是的话,定义多大呢?
如果超出定义的体积怎么办?
这些你先要想清楚。

还有,
你传入的数据长度是可变的吗?
如果是多字节的,
是连续多字节相同才是相同,还是不要求连续多字节相同,
这些你都没有说清楚,
谁是你肚子里的蛔虫??
ZDawn
3楼-- · 2019-07-22 02:02
warship 发表于 2018-12-8 21:54
你定义的数组呢?
是一个全局变量数组吗?
如果是的话,定义多大呢?

    我也有疑问,假如有一个全局变量数组,数组大小可以为无限大,初始化时数组各元素均为0,且已经写入内容的位置不可再更改,每次传入1个字节。如果该字节数据不存在数组中,则将其加进数组,如果数组中有这个数据,则不写入数组。
    这个能不能用算法快速判断?或者至少比一个一个轮询的快
323232
4楼-- · 2019-07-22 07:31
 精彩回答 2  元偷偷看……
鲨鱼辣椒
5楼-- · 2019-07-22 10:00
warship 发表于 2018-12-10 19:19
首先, 全局变量数组不可能定义为无限大, 这是要占内存的, 超出硬件范围就无法编译通过或生成代码.
再者, ...

行吧,老哥,看到你们的回复我很感激,因为这样才知道自己有很多不足的地方。谢谢大家的帮助

一周热门 更多>