Program received signal SIGSEGV.Segmentaation fault大一新生写一些很基础很基础的题目时遇到这个错误咋办?

#include
int main()
{
int sum2(int n);
int n,y;
printf("Input an integer number\n");
scanf("%d",&n);
y=sum2(n);
printf("sum is %d\n",y);
return 0;
}
int sum2(int n)
{
int f;
if(n=0)
f=0;
else
f=n+sum2(n-1);
return(f);
}

#include
int sum2(int n);
int main()
{
int n,y;
printf("Input an integer number\n");
scanf("%d",&n);
y=sum2(n);
printf("sum is %d\n",y);
return 0;
}
int sum2(int n)
{
int f;
if(n=0)
f=0;
else
f=n+sum2(n-1);
return(f);
}

#include
int main()
{
int sum2(int n);
int n,y;
printf("Input an integer number\n");
scanf("%d",&n);
y=sum2(n);
printf("sum is %d\n",y);
return 0;
}
int sum2(int n)
{
int f;
if(n==0)
f=0;
else
f=n+sum2(n-1);
return(f);
}
你的程序有两个问题,一个是#include
另一个是sum2中,if中是n==0不是n=0

#include
int sum2(int n);
int n,y;
printf("Input an integer number\n");
scanf("%d",&n);
y=sum2(n);
printf("sum is %d\n",y);
return 0;
int f;
if(n=0)
f=0;我没记错的话