请帮帮忙!请回zhenghongyun@china.com
我是C的初学者,有下面一个问题,请指教。
我做了一个简单的程序:SN=1!+2!+...+n!
程序如下:
#include "math.h"
sni(a) /*N 的阶乘*/
int a;
{
int k;
a=i;
float sni;
sni=1;
for (k=1;k<=a;k++)
sni=sni*i;
return (sni);
} /*N 的阶乘*/
main() /*主程序*/
{
int n,i,a;
float Sn,s;
Sn=0;
scanf ("%d",&n);
for (i=1;i<=n;i++)
{
Sn=Sn+sni(a);
if (i==n)
printf ("%f",Sn);
}
}
为什么不行?
难道子程序不能带进主程序的变量的值?
请指教!