C语言编程问题1!+2!+3!.......+n!

多问题#include<stdio.h>longf1(intn);longf2(intx);intmain(){intn;printf("输入一个数");scanf("%... 多问题
#include<stdio.h>
long f1(int n);
long f2(int x);
int main()
{
int n;
printf("输入一个数");
scanf("%d",&n);
printf("%ld\n",f1(n));
}
long f1(int n)
{
long sum=0;
int i;
for(i=1;i<=n;i++)
sum=sum+f2(i);
return sum;}
long f2(int x)
{
long s=1;
int i;
for(i=1;i<=x;i++)
s=s*i;
return s;}

sum=sum+f2(i);
f2(i)括号里里面为什么是i而不是s
or(i=1;i<=x;i++)
这里的X的值是多少
展开
 我来答
国素兰戈罗
2019-10-24 · TA获得超过3.7万个赞
知道大有可为答主
回答量:1.4万
采纳率:33%
帮助的人:624万
展开全部
希望对你有帮助!sum=sum+f2(i);是在for(i=1;i<=n;i++)循环体内,那么i是实参,也就是没执行一次f2(i)就执行一次i!,那么当i取到n的时候这个时候f2(i)就是执行的n!
f2函数当中的x是f2函数的形参,那么这里的x的值显然是f1函数中传递下来的实参i呀,因为i在for循环体内,那么最后当i达到n这个值的时候间接地就被n这个值传递下来了。
perfect_design
2012-11-12
知道答主
回答量:20
采纳率:0%
帮助的人:9.6万
展开全部
sum=sum+f2(i);是在for(i=1;i<=n;i++)循环体内,那么i是实参,也就是没执行一次f2(i)就执行一次i!,那么当i取到n的时候这个时候f2(i)就是执行的n!
f2函数当中的x是f2函数的形参,那么这里的x的值显然是f1函数中传递下来的实参i呀,因为i在for循环体内,那么最后当i达到n这个值的时候间接地就被n这个值传递下来了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
110801101
2012-11-12
知道答主
回答量:14
采纳率:0%
帮助的人:7.1万
展开全部
S是f1()里面的变量,要传递到f2()里面,另一方面S是f2()里面定义的变量,不能自身引用

还有后面循环里的x其实就是f2()括号里的i,虽然在f1()里面也定义了但意义是不同的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chong咏
2012-11-12 · 超过19用户采纳过TA的回答
知道答主
回答量:65
采纳率:0%
帮助的人:47.8万
展开全部
首先,s是函数f2的局部变量,不能调用;
其次,哪个x的值相当于for(i=1;i<=n;i++)
sum=sum+f2(i);
中i的值,也就是从1到n
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式