向大佬提问:)
查看原帖
向大佬提问:)
620843
Tyyy楼主2021/12/11 12:00
为什么第二个自定函数中加上if(n<1)返回值正确,如果不加上结果不符合题目要求

这个是不正确的代码

#include <stdio.h>
int sum(int n);
int sum1(int N,int n);
int main()
{
	int n;
	int num[12];
	scanf("%d",&n);
	printf("%d ",sum(n));
	return 0;
}
int sum(int n)
{
	int N=1,a;
    a=sum1(N,n);
	return a;
}
int sum1(int N,int n)
{
	
    if (n>=1){
		N*=n;
		n=n-1;
		sum1(N,n);
	}
    	return N;
}

这个是正确的

#include <stdio.h>
int sum(int n);
int sum1(int N,int n);
int main()
{
	int n;
	int num[12];
	scanf("%d",&n);
	printf("%d ",sum(n));
	return 0;
}
int sum(int n)
{
	int N=1,a;
    a=sum1(N,n);
	return a;
}
int sum1(int N,int n)
{
	
    if (n>=1){
		N*=n;
		n=n-1;
		sum1(N,n);
	}
    if(n<1)	return N;
}
2021/12/11 12:00
加载中...