函数解析

对着背影说爱祢 提交于 2020-03-07 07:01:20

1.为什么要用函数

a)函数能够增加程序的可读性

b)提高开发的效率

c)可以重复使用和在各种适用情况下使用

void swap(int *a,int *b)
{
  int t;
  t=a;
  a=b;
  b=t;    
}

这段代码适用于任何想要交换数字的时候,节省了时间。

2.为什么要用函数重载

a)解决了命名冲突问题,增加了可读性.

b)减少了用户的复杂性

void a();
void a(int);
void a(float,float);
void a(constchar*,constchar*);
void Max(int,int);
intmain()
{
a(2.4);
return;
}

函数重载可以优先选出想要应用的函数

3.什么是值传递

a)值传递是指只将要使用的值传入函数,而不改变值本身.就是指将一个实参传递给一个形参.

#include<stdio.h>
void change(int num)
{
num=0; //修改参数
}
int main()
{
int a=1;
change(a); //调用函数
printf("%d",a);//输出变量,变量的值没改变
return 0;
}

4.什么是地址传递

a)地址传递是指将实参的地址传给函数,可以在函数里面改变实参的值

#include<stdio.h>
void change(int *num)
{
num=0; //修改参数
}
int main()
{
int a=1;
change(a); //调用函数
printf("%d",a);//输出变量,变量的值改变了
return 0;
}

5.递归调用

a)明确函数作用

b)寻找结束条件

c)找出函数等价关系式

int fib(int n){
    if(n <= 2){
        return n;
    }
    // 结束条件
    return fib(n-1) * n;
}

此为斐波拉契数列递归实现的方法,函数的作用是计算出两项的乘积,结束条件是当n小于等于2,等价关系为最后一条代码.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!