c语言用递归法求一个数组乘积

如何使用c语言,用递归法求任意输入的一个数组乘积

代码如下:

#include <stdio.h>
long long fun(int a[],int n)
{
    if(n==1)
        return a[0];
    else
        return a[n-1] * fun(a,n-1);
}

int main()
{
    int a[100],n=0;
    char ch;
    printf("请输入数组元素,以回车结束:");
    while(1)
    {
        scanf("%d",&a[n]);
        n++;
        ch = getchar();
        if(ch =='\n') break;
    }
    
    printf("%lld\n",fun(a,n));
    return 0;
}



// 使用递归计算数组中各元素的乘积
 class  ArrayMul {
    public int mul(int arr[],int n){ //递归实现方法
        if(n<=1){
            return arr[0];
        }
        else{
            return mul(arr,n-1)*arr[n-1];
        }
    }

    public static void main(String[] args){ //主函数
        int[] arr={3,1,2,5};
        ArrayMul c1=new ArrayMul();
        System.out.println("数组元素递归乘积是:"+c1.mul(arr,arr.length));
    }
}

int main()
{
    int [] arr={1,2,3,4,5};
    int a = fun(arr);
}
int fun(int[] iarr)
{
    int temp = 1,count;
    count=iarr.Lenght;
    for(int i=0;i<count;i++
        temp*=iarr[i];
    return temp;
}