//c4-8.c
#include<stdio.h>
int main ()
{ int i,p,sum=0;
for(i=1;i<=20;i++)
{ while(i>=1)
{ p=1;
p*=i;
i-=1;
}
sum+=p;
}
printf("sum=%d\n",sum);
return 0;
}
错在哪
i始终大于1,会出现死循环的,同时,20的阶乘相加,那结果会很大的,用int保存不下,得用double类型!示例代码,有问题再用度娘自己搜索吧。。
//win7 x64 + vc6.0编译通过