十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
#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;ik;i++) power *= n; 此用了一个for循环,i的值从1到k-1(因为ik,不是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
函数嵌套
函数嵌套允许在一个函数中调用另外一个函数,比如有三个函数
例:
funca()
{
funcb();
}
funcb()
{
funcc();
}
funcc()
{
cout
"hello"
评论
加载更多
在C语言中,所有的函数定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内, 不能再定义另一个函数, 即不能嵌套定义.
在例子中,没有嵌套定义的.
int max(int a,int b)
{
if(ab)return a;
else return b;
}//这是在定义max
而main()函数中,
void main()
{
int max(int a,int b);//这是声明,被调用函数,定义在main函数前,可以省略.
int x,y,z;
printf("input two numbers:\n");
scanf("%d%d",x,y);
z=max(x,y);//这是调用.
printf("maxmum=%d",z);
}
所以不矛盾..
主函数中调用了两次f1函数 虽然for循环后没写{} 但是for if等 在没有写{}时默认执行之后的第一个语句 另外 你追问的int f2(int r); 这里你()中填写的是int r 代表着 你是在这里刚声明的 声明int类型但是没赋值时默认值为0 所以你不管把这里的变量改成什么 结果传递给f2的值都会是0
比如,你有一个函数
void example()
{
......
}
还有一个函数
void forexample()
{
.....
void example();
example();
}
就如你看到的,void forexample()函数里面,有用到example()函数。这就是你想知道的函数嵌套。
满意请采纳,如果还有问题,可以加我百度HI