编译没问题,怎么连接就出问题了。。
#include<stdio.h>
int product1(int n);
int product2(int n);
void main(){
int n;
printf("请输入正整数n:");
scanf("%d",&n);
printf("n!=%d\n",product1(n));
printf("n!=%d\n",product2(n));
}
int product1(int n){
int s=1;
if(n>0)
s=n*product(n-1);
return s;
}
int product2(int n){
int s=1;
while(n--)s=s*n;
return s;
}
[解决办法]
#include<stdio.h>int product1(int n);int product2(int n);void main(){int n;printf("请输入正整数n:");scanf("%d",&n);printf("n!=%d\n",product1(n));printf("n!=%d\n",product2(n));}int product1(int n){int s=1;if(n>0) s=n*product1(n-1); //herereturn s;}int product2(int n){ int s=1; while(n)//here{s=s*n;n--;} return s;}