c语言函数的嵌套调用

来源:百度知道 编辑:UC知道 时间:2024/06/22 16:09:54
#define K 4
#define N 5
long f1(int n,int k)
{ long power=n;
int i;
for(i=1;i<k;i++) power *= n;
return power;
}
long f2(int n,int k)
{ long sum=0;
int i;
for(i=1;i<=n;i++) sum += f1(i, k);
return sum;
}
main()
{ printf("Sum of %d powers of integers from 1 to %ld = ",K,N);
printf("%d\n",f2(N,K));
getch();
}
for(i=1;i<k;i++) 1. 这句什么作用?那个k是什么值?2.power *= n;
这句什么意思?举例说明。3.i<=n 这句n的值是什么?
3.i<=n 这句什么作用

#define K 4 定义K为常量4
#define N 5 定义N为常量4(注意K、N均为大写,不同于下面的小写k、n)
long f1(int n,int k) 定义函数f1,形参为n,k
{ long power=n; 初始化变量power赋值为n
int i; 定义变量i
for(i=1;i<k;i++) power *= n; 此用了一个for循环,i的值从1到k-1(因为i<k,不是i<=k),power*=n就是power=power*n的意思,于是每循环一次,power就乘一次n,于是f1函数指的是n的k次方。(因为power本身为n,然后又循环k-1次)
return power; 返回power值,就是n的k次方。
}
long f2(int n,int k) 定义函数f1,形参为n,k
{ long sum=0; 初始化变量sum赋值为0
int i; 定义变量i
for(i=1;i<=n;i++) sum += f1(i, k); 此用了一个for循环,i的值从1到n,然后用调用了f1函数,这样意思为sum=0+f1(1,k)+f1(2,k)+f1(3,k)+……f1(n,k)
return sum; 返回sum值f1(1,k)+f1(2,k)+f1(3,k)+……f1(n,k)
}
main函数,我就不解释了哈!
有什么不懂,发百度消息给我,再探讨,呵呵!共同学习

1.这句的作用就是循环 从i=1开始循环至k结束 一共循环次数为(k-1)次
2.这句等同于 power=power*n
3.n在函数中是形参 而实参n的值在 “#define N 5” 语句中已经定义 所以是5
补充:这句的作用就是循环终止的条件<