C++ 代码赢得';t将numSum打印回数组中的numSum=2个点

C++ 代码赢得';t将numSum打印回数组中的numSum=2个点,c++,C++,尝试让它获取输入,从numOne创建一个数组,数组的零点是numTwo,它将1与其余数组位置的值相加,直到数组被填充,然后它应该打印数组以及数组的位置[3]和[4]之和 int arrayOperations(int numOne, int numTwo, int numThree,int numFour); int main(){ int numOne; int numTwo; int numThree; int numFour; cout<<"Enter

尝试让它获取输入,从numOne创建一个数组,数组的零点是numTwo,它将1与其余数组位置的值相加,直到数组被填充,然后它应该打印数组以及数组的位置[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;
}
int数组操作(int numOne、int numTwo、int numThree、int numFour);
int main(){
国际货币基金组织;
int numTwo;
int numThree;
int numFour;

cout函数调用的语法与函数声明的语法不同。此外,应该从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;
}
#包括
使用名称空间std;
int数组操作(int numOne、int numTwo、int numThree、int numFour);
int main(){
国际货币基金组织;
int numTwo;
int numThree;
int numFour;

cout函数调用的语法与函数声明的语法不同。此外,应该从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;
}
#包括
使用名称空间std;
int数组操作(int numOne、int numTwo、int numThree、int numFour);
int main(){
国际货币基金组织;
int numTwo;
int numThree;
int numFour;

你甚至可以不调用
arrayooperations
,那么,为什么你希望你的代码打印任何东西呢?更改
int-arrayooperations(int-numOne,int-numTwo,int-numThree,int-numFour);
->
arrayooperations(numOne,numTwo,numThree,numFour)前者不是函数调用。
main
中提到的
arrayooperations
只是另一个声明,就像文件顶部的声明一样。您必须调用函数:
arrayooperations(numOne、numTwo、numThree、numFour);
。但是如果仍然没有得到任何输出,请不要感到惊讶;
arrayOperations
中的代码有几个错误。函数
arrayOperations
中的错误-从
1
开始
i
而不是
0
。从
0
开始将使您的第一次迭代成为
newArray[0]=newArray[-1]+1、 
。这会导致未定义的行为。此外,您的
newArray
的最小大小可以是
3
,因此行
numSum=newArray[3]+newArray[4]
可能会再次导致未定义的行为。感谢大家提供的建设性反馈。这是我第一个提出的问题,所以现在在我提出更多问题之前,我有一些提示要看。非常感谢。您甚至不打电话给
arrayOperations
,那么,为什么您希望您的代码打印任何内容?更改
int arrayOperations(int numOne,int numTwo,int numThree,int numFour);
->
arrayOperations(numOne,numTwo,numThree,numFour);
。前者不是函数调用。
main
中提到的
arrayOperations仅仅是另一个声明,就像文件顶部的声明一样。您必须调用函数:
arrayOperations(努蒙,努姆,努姆,努姆);
。但是如果仍然没有得到任何输出,请不要感到惊讶;
arrayOperations
中的代码有几个错误。函数
arrayOperations
中的错误-从
1
开始
i
而不是
0
。从
0
开始将使您的第一次迭代成为
newArray[0]=newArray[-1]+1、 
。这会导致未定义的行为。此外,您的
newArray
的最小大小可以是
3
,因此行
numSum=newArray[3]+newArray[4]
可能再次导致未定义的行为。谢谢大家的建设性反馈。这是我第一个被问到的问题,所以在我提出更多问题之前,我有一些提示要看。非常感谢。