我正在学习在我的操作系统类中使用 C 语言,这就是我目前所拥有的用于查找两个数组交集的函数。
交集基本上是当你拿两个集合并且你只得到两个集合中的元素时。
例如,如果集合 A 包含 = {1,2,3},集合 B 包含 = {2,3,4},则 A 和 B 的交集是 {2,3}。我正在尝试在 C 中创建一个函数,该函数获取两个数组并返回一个包含两个传递数组中的整数的数组。
我想我在这里几乎有了解决方案,但我收到一条错误消息:“标识符‘计数’未定义”
int intersection(int array1[4], int array2[4])
{
int arrayReturn[sizeof(array1) + sizeof(array2)]
int count = 0;
for(int i = 0; i < 4; i++)
{
for(int j = 0; j < 4; j++)
{
if(array1[i]==array2[j])
{
count = count + 1;
arrayReturn[count] = array1[i];
}
}
}
}
我非常习惯 Java,我觉得 Java 和 C 几乎相同。我真的找不到这里有什么问题,因为 count 在 if 语句中的范围内。我看不到 count 是如何未定义的。
计数有什么问题,我该如何解决这个交叉函数?