偶数总和的错误
我收到以下错误:
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
一个头文件时,它就像编译器在那时将整个文件插入到你的文件中,因此第一行或第二行的错误暗示了头文件的问题(因为这实际上是“之前的行”)。