辞树 发表于 2021-11-21 11:56:24

求告知错误,大佬!1

本帖最后由 辞树 于 2021-11-21 11:58 编辑

这是数组的倒序,要用递归
#include<stdio.h>
int dao(int a[],int n)
{
      if(n==0)
           printf("%d",a);
           else
          
           {dao(a,n-1);   printf("%d ",a);}
}

int main()
{
   int a,n,i;
   scanf("%d",&n);
   for(i=n-1;i>=0;i--)
   scanf("%d",&a);
   dao(a,n);
}

为啥结果会多一个0呢
5
1 2 3 4 5
54 3 2 1 0

人造人 发表于 2021-11-21 11:56:25

#include<stdio.h>

//int dao(int a[],int n)
void dao(int a[],int n)
{
    if(n==0) return;
    dao(a,n-1);
    printf("%d ",a);
}

int main()
{
   int a,n,i;
   scanf("%d",&n);
   for(i=n-1;i>=0;i--)
   scanf("%d",&a);
   dao(a,n);
   printf("\n");
   return 0;
}

辞树 发表于 2021-11-21 11:57:42

这作业必须用递归
页: [1]
查看完整版本: 求告知错误,大佬!1