函数的调用
- 一般形式为:函数名(实参列表);
- 函数调用语句:把函数单独作为一个语句。
add(); - 函数表达式:函数调用出现在一个表达式中,参与其中的运算。但是必须是有返回值的函数,把函数返回值作为一个数参与运算。
例如:c = 2*add(a,b); - 函数参数:函数调用作为另一个函数调用时的实参。
注:必须是有返回值的函数,把函数返回值作为一个实参进行输入。
例如:c = add(2,add(a,b));
- 函数的嵌套调用
- 可以在调用一个函数的过程中又调用另一个函数。
- 可以在一个函数的定义中调用另一个函数。
函数的递归调用
两个要素: 结束条件、递推关系
定义: 调用一个函数的过程中又出现直接或间接地调用该函数本 身,这称为递归调用。
为了更好的掌握递归调用,这里提供了两个实例:
- 实现阶乘
#include<stdio.h>
int compute(int n){
if(n == 0){
return 1;
}
if(n == 1){
return 1;
}
return compute(n-1)*n;
}
int main()
{
int a,ret;
printf("请输入一个数:\n");
scanf("%d",&a);
ret = compute(a);
printf("最终的结果为:%d",ret);
return 0;
}
- 斐波那契数列
斐波那契数列
#include<stdio.h>
int feibonaqi(int n){
if(n == 1){
return 1;
}
if(n == 2){
return 1;
}
return feibonaqi(n-1)+feibonaqi(n-2);
}
int main()
{
int i,j;
for(i = 1;;i++){
// printf("%d ",i);
j = feibonaqi(i);
printf("%d ",j);
if(j >= 100){
printf("%d个月后兔子数超过100",i);
break;
}
}
return 0;
}