0

我不断收到错误消息:“运行时检查失败 #3 - 正在使用变量‘x’而未初始化。”

我以为我用放入数组中的所有数字对其进行了初始化?

#include <iostream>
using namespace std;

const int MAX = 10;

int odd(int sumOdd[])
{
int sum = 0;
for(int i = 0; i < MAX; i ++)
{
    if(sumOdd[i] % 2 != 0)
    sum+=sumOdd[i]; 
}
cout << "Sum of odd integers in the array: " << sum << endl;
return sum;

}

int main()
{
int x[MAX] = {13,14,8,7,45,89,22,18,6,10};

int returnArray(x[MAX]);

cout << "Sum of odd integers in the array" << endl;

system("pause");
return 0;
}
4

2 回答 2

1

尝试改变:

 int returnArray(x[MAX]);

 int sum =  returnArray(x);
 cout << "Sum of odd integers in the array" << sum << endl;

returnArray返回sum。您可以使用临时变量来保存返回值并将其打印出来,也可以直接使用返回值,如下所示:

cout << "Sum of odd integers in the array" << returnArray(x) << endl;

int当您调用函数时,只需使用函数名称并为其提供参数,在这种情况下您不再需要返回类型 ( )。您也直接使用数组名x,而不是x[MAX].

于 2013-05-21T02:04:27.243 回答
1
int returnArray(x[MAX]); // in main

应该

returnArray(x);

您已经将该函数声明为接受一个数组并返回一个整数,因此您需要做的就是以数组作为参数调用该函数。

于 2013-05-21T02:04:55.393 回答