把心刘
2016-10-25 21:45

#include <stdio.h>
int func(int n){
int r;
if(n<0)
printf("data error\n");
else if(n==0 || n==1)
r=1;
else
r=n * func(n-1);
return r;
}
int main(){
int n;
int result=func(n);
printf("please input n\n");
scanf_s("%d",&n);
int result=func(n);
printf("result=%d\n",result);
}其实代码和课程里的一样,关于这个报错,有人能帮忙解决一下吗?谢谢。

直接拷贝的你的代码,把15行去掉了,在19行声明 的result 。
这是运行结果。编译器用的是gcc。

把14行改成int n=0;试试看。你定义了n没赋初值就直接15行开始计算当然会报错。
Linux C语言结构体
118582 学习 · 166 问题
相似问题