c中两个数组的公共数函数

时间:2014-03-20 23:34:39

标签: c arrays numbers

需要常用数字功能的帮助 函数接受两个输入数组及其大小(其中 对于给定的问题是相同的)并计算两个数组之间有多少公共数字并返回此计数。这就是我现在所拥有的。

int common_numbers(int ar[],int ra[],int x)
{
        int i;
        int j;
        int a;
        for (i=0;i<x;i++)
        {
            for (j=0;j<x;j++)
            {

                if(ar[i]==ra[j])
                {
                     a++;
                }

            }
         }
        printf("%d",ra[j]);
        printf("%d",ar[i]);
         return a;
}                        

1 个答案:

答案 0 :(得分:3)

您未能初始化计数器:

int a = 0;

如果没有它,您的代码将调用未定义的行为(UB)。

需要删除两个printf调用,因为它们可以在数组末尾之外访问。他们还援引了UB。