大侠帮我看看这个程序,哪有问题?
#include <stdio.h>int addn(x)
{
int s;
if(x=1)
{
s=1;
}
else
{
s=x+addn(x-1);
}
return(s);
}
main()
{
int j;
int i=100;
j=addn(100);
printf("result:%d\n",j);
}
说是用的什么递归法求1到100的和,但是结果出来个1,怎么回事,这个程序的思路还有点模糊
2010-08-11 23:53
程序代码:#include "stdio.h"
int s;
int addn(int x)
{
if(x==1)
{
s+=1;
}
else
{
s+=x;
addn(x-1);
}
}
main()
{
addn(100);
printf("result:%d\n",s);
}你试下 改成这样可以了!

2010-08-12 00:29
2010-08-12 00:36
2010-08-12 08:43
2010-08-12 09:24
2010-08-12 09:43
程序代码:#include <stdio.h>
int addn( int x)/*////////////////////*/
{
static int s=0;
if(x==1)
{
return 1;/*////////////////////*/
}
else
{
s=x+addn(x-1);
}
return s;
}
void main()
{
int j;
j=addn(100);
printf("result:%d\n",j);
}
这样可以~递归~

2010-08-12 15:16
2010-08-12 20:35
2010-08-13 20:35
程序代码:int add(int n)
{
int sum=0;
if(0==n)
return sum;
else
return sum=n+add(n-1);
}
2010-08-14 10:14