我一直收到错误:“运行时检查失败#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;
}
答案 0 :(得分: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]
。
答案 1 :(得分:1)
int returnArray(x[MAX]); // in main
应该是
returnArray(x);
您已经将该函数声明为获取数组并返回一个整数,因此您需要做的就是以数组作为参数调用该函数。