使用recurion打印数组反转的c代码
这段代码是使用递归打印数组的反转 我正在使用从main调用的递归函数 输出应为5,4,3,2,1 有人能帮忙调试一下吗使用recurion打印数组反转的c代码,c,arrays,recursion,C,Arrays,Recursion,这段代码是使用递归打印数组的反转 我正在使用从main调用的递归函数 输出应为5,4,3,2,1 有人能帮忙调试一下吗 #include <stdio.h> void recursion(int a[]) { int i=0; if(i<5) return; i++; recursion(i); printf("%d ",a[i]); } int main() { int arr[]={1,2,4,5}; r
#include <stdio.h>
void recursion(int a[])
{
int i=0;
if(i<5)
return;
i++;
recursion(i);
printf("%d ",a[i]);
}
int main()
{
int arr[]={1,2,4,5};
recursion(arr);
}
#包括
无效递归(int a[])
{
int i=0;
如果(i需要一本好的C书:
#include <stdio.h>
void recursion(int a[], int i, int size)
{
if(i < size -1)
recursion(a, i + 1, size);
printf("i = %d arr[%d] == %d \n",i, i, a[i]);
}
int main()
{
int arr[] = {1, 2, 4, 5};
recursion(arr, 0, sizeof(arr) / sizeof(arr[0]));
}
#包括
无效递归(int a[],int i,int size)
{
如果(i<尺寸-1)
递归(a,i+1,size);
printf(“i=%d arr[%d]=%d\n”,i,i,a[i]);
}
int main()
{
int arr[]={1,2,4,5};
递归(arr,0,sizeof(arr)/sizeof(arr[0]);
}
需要一本好的C语言书:
#include <stdio.h>
void recursion(int a[], int i, int size)
{
if(i < size -1)
recursion(a, i + 1, size);
printf("i = %d arr[%d] == %d \n",i, i, a[i]);
}
int main()
{
int arr[] = {1, 2, 4, 5};
recursion(arr, 0, sizeof(arr) / sizeof(arr[0]));
}
#包括
无效递归(int a[],int i,int size)
{
如果(i<尺寸-1)
递归(a,i+1,size);
printf(“i=%d arr[%d]=%d\n”,i,i,a[i]);
}
int main()
{
int arr[]={1,2,4,5};
递归(arr,0,sizeof(arr)/sizeof(arr[0]);
}
您的递归
函数工作不正常。
注意:无论何时调用函数,参数
都应该是相同的。在代码中,函数的参数是数组,但当您从函数内部调用它时,即递归
时,您传递的是i
所以,你能做的就是
#include <stdio.h>
void recursion(int a[], int i)
{
int t = i-1;
if(t>=0)
{
printf("%d ",a[t]);
return recursion(a, t);
}
}
int main()
{
int arr[]={1,2,4,5};
recursion(arr,4);
}
#包括
无效递归(inta[],inti)
{
int t=i-1;
如果(t>=0)
{
printf(“%d”,a[t]);
返回递归(a,t);
}
}
int main()
{
int arr[]={1,2,4,5};
递归(arr,4);
}
希望这有助于您的递归
函数工作不正常。
注意:无论何时调用函数,参数
都应该是相同的。在代码中,函数的参数是数组,但当您从函数内部调用它时,即递归
时,您传递的是i
所以,你能做的就是
#include <stdio.h>
void recursion(int a[], int i)
{
int t = i-1;
if(t>=0)
{
printf("%d ",a[t]);
return recursion(a, t);
}
}
int main()
{
int arr[]={1,2,4,5};
recursion(arr,4);
}
#包括
无效递归(inta[],inti)
{
int t=i-1;
如果(t>=0)
{
printf(“%d”,a[t]);
返回递归(a,t);
}
}
int main()
{
int arr[]={1,2,4,5};
递归(arr,4);
}
希望这能有所帮助在没有必要的时候为什么要使用递归?简单地用for-looply向后打印,因为这是一个家庭作业练习..只是一个猜测。在没有必要的时候为什么要使用递归?简单地用for-looply向后打印,因为这是一个家庭作业练习..只是一个猜测。