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的值是多少 展开
#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的值是多少 展开
4个回答
展开全部
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这个值传递下来了。
f2函数当中的x是f2函数的形参,那么这里的x的值显然是f1函数中传递下来的实参i呀,因为i在for循环体内,那么最后当i达到n这个值的时候间接地就被n这个值传递下来了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
S是f1()里面的变量,要传递到f2()里面,另一方面S是f2()里面定义的变量,不能自身引用
还有后面循环里的x其实就是f2()括号里的i,虽然在f1()里面也定义了但意义是不同的
还有后面循环里的x其实就是f2()括号里的i,虽然在f1()里面也定义了但意义是不同的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
首先,s是函数f2的局部变量,不能调用;
其次,哪个x的值相当于for(i=1;i<=n;i++)
sum=sum+f2(i);
中i的值,也就是从1到n
其次,哪个x的值相当于for(i=1;i<=n;i++)
sum=sum+f2(i);
中i的值,也就是从1到n
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询