为什么代码执行错误
代码1:#include <stdio.h>
int sum(int n)
{
if(n==1)
return 1;
return n+sum(n-1);
}
int main()
{
int a,b;
scanf("%d",a);
b = sum(a);
printf("b = %d\n",b);
return 0;
}
代码2:
#include <stdio.h>
int sum(int n)
{
if(n==1)
return 1;
return n+sum(n-1);
}
int main()
{
int a=5,b;
b = sum(a);
printf("b = %d\n",b);
return 0;
}
为什么代码1执行错误,而代码2能顺利执行?