代码不会打印numSum作为数组

时间:2017-06-29 20:57:42

标签: c++

试图让这个接受输入,从numOne创建一个数组,数组的零点是numTwo并且它在数组的其余部分位置加一,直到数组被填充,然后它应该打印数组以及阵列的位置[3]和[4]的总和。

    int arrayOperations(int numOne, int numTwo, int numThree,int numFour);

int main(){

int numOne;
int numTwo;
int numThree;
int numFour;


    cout<<"Enter a number 3 through 9"<<endl;
    cin>>numOne;
    cout<<"Now a number 5 through 17"<<endl;
    cin>>numTwo;

int arrayOperations(int numOne, int numTwo, int numThree,int numFour);




return 0;
}

int arrayOperations(int numOne, int numTwo, int numThree,int numFour){
int newArray[numOne];
int numSum;
    newArray[0]=numTwo;
    for(int i = 0; i < numOne; i++){
        newArray[i]=newArray[i-1]+1;
            cout<<newArray[i]<<endl;    
    }
numSum = newArray[3] + newArray[4]; 

return numSum;
}

1 个答案:

答案 0 :(得分:0)

函数调用的语法与函数声明的语法不同。你也应该从1开始你的for循环,因为i-1索引将给出-1,这将返回一些垃圾值。这是正确的代码..

#include <iostream>

using namespace std;
int arrayOperations(int numOne, int numTwo, int numThree,int numFour);

int main() {

int numOne;
int numTwo;
int numThree;
int numFour;


cout<<"Enter a number 3 through 9"<<endl;
cin>>numOne;
cout<<"Now a number 5 through 17"<<endl;
cin>>numTwo;

cout<<arrayOperations(numOne,numTwo, numThree,numFour);




return 0;
}

int arrayOperations(int numOne, int numTwo, int numThree,int numFour) {
int newArray[numOne];
int numSum=0;
newArray[0]=numTwo;
for(int i = 1; i < numOne; i++) {
    newArray[i]=newArray[i-1]+1;
    cout<<newArray[i]<<endl;
}
numSum = newArray[3] + newArray[4];

return numSum;
}