偶数总和的错误

我收到以下错误:

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

这是我的代码:

 #include  #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) 

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

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

 #include  #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; } 

添加一个; 在头文件中的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数组而不是int

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