函数的嵌套调用
定义:C语言中是不允许嵌套函数定义的,因此函数之间是相互平行的。不存在上一级函数和下一级函数。只不过在C语言中允许在一个函数中调用另一个函数。这就是函数的嵌套调用。
练习:计算3!+2!得值
#include<stdio.h>
int Value1()
{
int a=3,i,product=1;
for(i=3;i>0;i--)
{
product*=i;
}
return product;
}
int Value2()
{
int a=2;i,product=1;
for(i=2;i>0;i--)
{
product*=i;
}
return product;
}
int main()
{
int value;
value=value1()+value2();
printf("%d\n",value);
return 0;
}
递归函数的调用
定义:递归函数就是自己调用自己。
注意:为了防止递归函数无终止的进行,必须在函数内有终止递归函数的条件。通常情况下会选择条件判断,当条件不满足时,跳出递归。
练习:求n!
#include<stdio.h>
int product(int a)
{
int product=1;
if(a<0)
{
printf("error\n");
}
else if(a==0||a==1)
{
product=1;
}
else
{
product=a*product(a-1);
}
return product;
}
int main()
{
int a,product;
printf("input a number:");
scanf("%d",&a);
product=product(a);
}