偶数误差的总和

时间:2014-02-25 08:05:53

标签: c

我收到以下错误:

1. expected = , ; before { (line 2)
2. expected { at end of input (line 12)

这是我的代码:

#include <stdio.h>
#include "evenSum.h"

int Even_Sum(int array, int i)
{
    for(i = 0; i < 10; ++i)
    {
        if(array[i] % 2 =0)
        {
        int sum=0;
        sum += array[i];
        return sum;
        }
    }
}

我的标题文件包含

int Even_Sum(int array, int i)

3 个答案:

答案 0 :(得分:4)

在您的标头文件中;之后添加int Even_Sum(int array, int i)

没有;,编译器会看到

int Even_Sum(int array, int i)

int Even_Sum(int array, int i)
{
    for(i = 0; i < 10; ++i)
    {

... etc ...

当然,这不是有效的c语法。因此,您需要;

正如其他人所指出的那样

编辑,您希望处理int array参数,因为array用作 数组不是 int

答案 1 :(得分:1)

一旦修复了所有语法问题,您确定要在数组中找到第一个偶数后立即返回吗?也许你的意思是这样的,它迭代整个数组并总结所有偶数。 请注意,您需要一个指向int的指针作为第一个Even_Sum参数。

另请注意,i参数在您的代码中无用;特别是如果要传递数组中的元素数,则不应将其用作索引变量。我已将其重命名为n并使循环从0运行到n-1。

#include <stdio.h>
#include "evenSum.h"

int Even_Sum (int *array, int n)
{
    int sum = 0;
    int i;

    for (i = 0; i < n; ++i)
    {
        if (array[i] % 2 == 0)
        {
            sum += array[i];
        }
    }
    return sum;
}

答案 2 :(得分:0)

作为此类邮件的一般调试提示,如果您在文件开头出现错误(尤其是“expected ;”),请检查标题文件是否有拼写错误。当你#include一个头文件时,它就像编译器在那时将整个文件插入到你的文件中,因此第一行或第二行的错误暗示了头文件的问题(因为这实际上是“前一行”) )。