首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C语言中两个数组的交函数

问C语言中两个数组的交函数
EN

Stack Overflow用户
提问于 2013-02-20 10:14:02
回答 4查看 8.7K关注 0票数 2

我正在学习在我的操作系统类中使用C,这就是到目前为止我的函数中找到两个数组的交集的方法。

交集基本上是当你取两个集合,你只得到两个集合中的元素时。

例如,如果集合A包含= {1,2,3},集合B包含= {2,3,4},则A和B的交集是{2,3}。我正在尝试用C语言创建一个函数,该函数获取两个数组,并返回一个包含两个传递数组中的整数的数组。

我想我几乎有了解决方案,但是我得到了一个错误:“标识符'count‘is undefined”

代码语言:javascript
复制
    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是未定义的。

count出了什么问题,我该如何修复这个交集函数?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-02-20 10:18:12

在count声明前的行中缺少分号。

代码语言:javascript
复制
  int arrayReturn[sizeof(array1) + sizeof(array2)]; //Semicolon Here
  int count = 0;

我是如何看到这个错误的?错误消息是identifier 'count' is undefined,所以我首先检查的是编译器告诉我的原因。然而,这并不是问题所在,因为声明就在那里,并且在正确的范围内。那么,现在我该怎么做呢?我应该查看变量初始化之前的行,以及用法之前的行。这就是你肯定会发现错误的地方。

简而言之,当编译器消息似乎没有帮助时,不要停止。看看周围。

同样,正如GRAYgoose124指出的,你应该在你的函数体的末尾有一个返回语句,因为你的函数应该返回一个整数。

票数 3
EN

Stack Overflow用户

发布于 2014-01-25 23:53:26

此行缺少分号:

代码语言:javascript
复制
int arrayReturn[sizeof(array1) + sizeof(array2)]; //semicolon was missing
票数 1
EN

Stack Overflow用户

发布于 2013-02-20 10:22:29

正如AshRj所指出的,您缺少一个分号。

提示:clang编译器在提供诊断输出方面非常出色。如果你尝试用它编译你的代码,你会得到下面的输出:

代码语言:javascript
复制
source.c:3:57: error: expected ';' at end of declaration
        int arrayReturn[sizeof(array1) + sizeof(array2)]
                                                        ^
                                                        ;

即使你没有正常地使用clang编译你的项目,你也可以尝试编译代码片段来帮助你找出问题所在。这就是我对你的片段所做的,就像你can see here一样。(也请注意警告。)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14971202

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档