C——函数

1、函数的定义与返回值

1.1、函数的定义

  • 例1:
    int fun(int x,int y){
    	int z;
    	z=x+y;
    	return z;
    }
    int main(){
    	int a=3,b=5,s;
    	s=fun(a,b)
    	printf("%d\n",s);
    }
    

1.2注意事项

  1. 函数应 先定义 后使用
  2. C源程序开始于 主函数 ,同时结束于 主函数
  3. 实参 负责 传递, 形参 负责 接收,函数调用时将 实参 赋予对应的 形参
  4. 实参与形参的类型 不一致,以 形参 的类型为准
  5. 实参与形参格占用 独立 的存储单元
  6. 形参须单独定义,属于 临时变量调用函数 时为其 分配 存储单元,函数调用结束后 释放 其存储单元
  7. 函数默认的类型为 int型,可省略
  8. 函数返回值的类型 由在定义函数时所指定的函数类型 决定的
  9. 函数**可以没有**形参

1.3、void类型

  1. 无返回值类型
  2. 可以返回,没有值

1.4、函数的返回值

return 语句;

  • 形式:return 表达式;
  • 通过return语句,函数只能返回一个返回值

1.5、函数的声明

函数应先定义后调用,如果函数的调用出现在了定义钱,则要 函数进行声明

  • 函数声明的形式:
    float fun(float x,float y){
    	return x+y;
    }
    
  • 形式:float fun(float x,floaty);

2、函数的调用

2.1、函数调用的形式

  1. 语句调用:fun(a,b);

  2. 表达式调用:y=fun(x)

  3. 参数调用:将函数的返回值作为实参进行调用,称为函数的参数调用

    int fun(int x,int y){
    	return x+y;
    }
    int main(){
    	int a=3,b=2,c=5,d;
    	d=fun(fun(a,b),c);
    	printf("%d\n",d);
    	return 0;
    }
    
  4. 递归调用:函数直接或间接的调用自己,称为函数的`递归调用

    1. 直接递归:A<——>A(A调用A)
    2. 间接调用:A<——>B(A调用B,B调用A)
    3. 在递归调用中是逆向计算,从哪来回哪去
    4. 在C语言中,主函数可以进行递归调用
    int fun(int x){
    	int y;
    	if(x>1) y=fun(x-1)+2;
    	else y=2;
    	return y=2;
    }
    int main(){
    	printf("%d\n",fun(3);	//输出6
    	return 0;
    }
    执行过程:
    fun(3)	x=3	y=fun(3-1)+2;	//return 6
    fun(2)	x=2	y=fun(2-1)+2;	//return 4
    fun(1)	x=1	y=2;	//return 2
    

3、函数的值传递

  • 函数的实参传递分为值传递和地址传递

    #include <stdio.h>
    void fun(int x,inty){
    	x+=y;
    	y+=x;
    }
    int main(){
    	int a=3,b=5;
    	fun(a,b);
    	printf("%d,%d\n",a,b);
    }
    输出结果为:3,5
    该函数是指传递,所以变量的值不会改变
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小吴在敲Bug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值