使用递归输出数组

Output an array using recurssion

本文关键字:数组 输出 递归      更新时间:2023-10-16

我正在尝试通过递归打印数组的元素。

int PrintArray(int array[], int size){
if(size>0){
--size;
PrintArray(array,size);
}

cout<<array[size]<<" ";

}
int main(){

int size;
cout<<"Enter the number of elements to be entered in array ";
cin>>size;
int array[size]= {};
cout<<"The elements to be entered into array are "<<endl;
for(int i=0; i<size; i++){
cout<<"element: "<<i<<"- ";
cin>>array[i];
cout<<endl;
}
PrintArray(array,size);
return 0;
}

它正在打印两个索引元素,我应该如何解决这个问题?

想想当大小 == 1 时会发生什么。它被传递给 PrintArray((,然后在 if 语句中设置大小 == 0 并调用 PrintArray((。在 if 语句之后,打印出数组 [0]。从调用大小为 == 0 的 PrintArray(( 中,它还将打印出 array[0]。

要解决此问题,您应该将cout<<array[size]<<" ";放在 if 语句中。