对函数调用的一些认识

1.每个函数都要有自己的参数(变量),主函数的参数叫做实参,我们定义的函数的参数叫做形参,因此要注意定义函数时变量的定义。

函数类型   函数名(类型  变量1,…,类型 变量n)

{

  声明部分

  语句

}

此为定义一个新函数的一般形式。

2.一般地,在主调函数中,调用其他函数的一般形式为被调函数名(实参1,实参n)

注:在调用函数时,是将实参的值传递给形参,而且是自左至右逐个的传递。

#include <stdio.h>
int max(int x, int y)
{ 	
	……
} 
int main()
{
	int a=3, b=5, c;
   	c= max(a, b);
   	printf(”c=%d”,c);
   	return 0;
}

其实,这段代码有个问题,就是在调用函数时实参的值一定要是一个确定的数值,因此,希望大家以后多注意。但是,此段代码还是可以看出我说明的实参的值传递给形参的。

3.其实,还有一个要注意的点就是:我们在定义一个函数时尽量在主函数前定义,否则,我们就要在主函数中在对下面定义的函数进行声明后才能用,十分麻烦。

4.重点来了:递归调用

递归调用可以看成是一种特殊的嵌套调用,特殊在所有被调函数都是同一函数

例:将一个数字倒序输出

#include <stdio.h>
void f(int n)
{   
     printf("%d ",n%10);
     if(n>=10)
           f(n/10);
} 
int main()
{    
	int n;
	scanf("%d",&n);
     f(n);
     return 0;
}

此程序完美利用了递归调用的特性,一个一个位输出(我特意加了一个空格)。

递归就是将一个大问题找出规律,并连续调用函数的过程。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值