没有错误,但在我运行时没有任何反应(C ++)

时间:2016-11-12 14:11:09

标签: c++ arrays

简单的程序,从键盘读取6个数字,并返回所有偶数的总和。但是当我运行它时,它不会打印任何内容而只是退出。

我在这里缺少什么? (我知道向量会更好,但我正在练习决赛,这是一个使用数组指定的旧决赛问题。)

#include <iostream>

using namespace std;

void readNumbers();
void sumOfEven(int arr[6]);

int main(){
    void readNumbers();
    return 0;
}

void readNumbers(){
    int myArray[6];
    cout << "Enter 6 numbers:" << endl;
    for(int i = 0; i < 6; i++){
        cin >> myArray[i];
    }
    sumOfEven(myArray);
}

void sumOfEven(int arr[6]){
    int sum = 0;
    for(int i = 0; i <= 6; i++){
        if(arr[i] % 2 == 0)
            sum = sum + arr[i];
    }
    cout << "Sum of even numbers: " << sum;
}

1 个答案:

答案 0 :(得分:2)

在main中有一个函数声明而不是函数调用

int main(){
    void readNumbers();
    ^^^^^^^^^^^^^^^^^
    return 0;
}

你应该写

int main(){
    readNumbers();
    ^^^^^^^^^^^^^^
    return 0;
}

第二个问题是你在循环中使用了错误的索引

for(int i = 0; i <= 6; i++){
               ^^^^^^^

必须有

for(int i = 0; i < 6; i++){
               ^^^^^