C语言 复习函数

什么是函数呢?

首先函数是在完成特定任务的程序代码中,拥有自己独立的单元。

举个例子

“你可以拿本书吗?”

”你可以拿本语文书吗?“

“你可以拿苹果吗?”。。。。。

如果要是放到程序里面估计要重复很多一样的动作,所以函数的第一个优点就是:可以省去重复代码的编写

将“你可以拿”作为它的函数,接下来拿的东西比如:书、语文书、苹果。。。这些都是可以修改的完善的,

没有必要在主函数中来回乱改,一不小心改错了地方也是很麻烦的。所以函数的第二个优点:在某种功能在程序中只修改和完善某个单元

接下来看一下代码

#define NAME“GIATHINK”
#define classroom “101 ”
#define  age 14
#derine num 40

void dars(void);
int void main(){
 dars();
pirntf("%s\n",NAME);
printf("%s\n",classroom);
printf("%d\n",age);
dars(); }
void dars(void){ int i; for(i=0;i<num;i++) putchar('*'); putchar('\n'); }

运行结果:

这里引用了一个函数dars,通过函数dars ,其中dars在主函数main中一共出现了三次,第一次是声明函数dars, 第二次和三次分别对该函数进行了调用putchar(''*')。

在自定义函数中,如果void dars()没有任何参数那么就可以放入默认的void 类型,在很早之前c语言函数大多都是Int类型的,c99标准不在支持函数Interesting类型的默认设置,

好了,接下来就将咱们那个栗子做完

  再来看一下函数里面老生杂谈的递归吧

#include<stdio.h>
void up_down(int);
int main(void){

}

void up_down(int a){
printf("Level %d: location %p \n",n,&n);
if(n<5)
up_down(n+1);
printf("LEVEL %d: location %p\n",n,&n);
}

 首先mian() 使用了参数调用函数up_down()于是up_down 中形式参数n为1,所以打印出来Leve1 ,接着由于n<5,所以 up_dwon()的参数+1 ,数值2条用了up_down 使得第二级被赋值2输出Leve2 接着依次调用3,4,5。

当n=5,n+1<5为假时,不满足If语句的条件,所以不在继续调用up_down ,接着输出LEVEL5,当5调用结束时,控制返回给该调用函数,也就是4,3,2,1就会有接下来的这些一直到返回到1并执行后续代码。

总的来说递归条用非常类似一个循环语句,是实际上,递归有时候可以被用来代替循环,反之也是可以!

猜你喜欢

转载自www.cnblogs.com/X404/p/12059532.html