文章目录(Table of Contents)
内容简介
这一篇主要介绍C语言中函数的一些使用,主要包含以下的内容:
- 函数的定义(注意需要函数声明):这里我们需要注意函数使用前需要先声明;
- 函数的嵌套使用:这个没什么好说的,看看就能明白;
- 递归函数:会举一个阶乘的例子进行说明;
- 数组元素作为函数实参:我们举一个求平均数的例子;
函数定义,嵌套,递归
首先看一下前三部分的内容,即函数的定义,函数的嵌套与递归函数;
- #include<stdio.h>
- #include<stdlib.h>
- /*
- 知识点
- - 函数的定义(注意需要函数声明)
- - 函数的嵌套使用
- - 递归函数
- */
- //函数的声明
- void printTest();
- void printTwoTest();
- int max(int x, int y);
- int fac(int n);
- void printTest(){
- // 这里的函数声明表示没有返回值,即返回值是void类型
- // 这里定义的函数是无参函数
- printf("First:This is a test.\n");
- }
- void printTwoTest(){
- // --------
- // 函数嵌套
- // --------
- void printTest(); //函数嵌套也需要首先声明嵌套的函数
- printTest();
- printf("Second:Here\n");
- }
- int max(int x, int y){
- // 定义有参数的函数
- int z;
- z = (x>y)?x:y;
- return (z);
- }
- int fac(int n){
- // ------------
- // 定义递归函数
- // ------------
- int f;
- if(n==0||n==1){
- f=1;
- }
- else{
- f=n*fac(n-1);
- }
- return f;
- }
- int main(){
- printTest(); // 调用printTest函数
- printf("--------\n");
- printTwoTest();
- printf("--------\n");
- int a =10,b=20,c;
- c = max(a,b);
- printf("The bigger in %d and %d is %d.\n",a,b,c);
- printf("--------\n");
- printf("%d!==%d\n",10,fac(10));
- return 0;
- }
函数实参传数组
接着我们看一下当我们要传入数组元素的时候应该如何来进行操作,举一个求平均数的例子;
- #include<stdio.h>
- #include<stdlib.h>
- /*
- 数组元素作为函数实参
- - 使用数组名作为实参时,向形参传递的是数组元素的首地址
- */
- float average(float array[]){
- // 定义一个求平均数的函数
- int i;
- float sum;
- for(i=0;i<5;i++){
- sum=sum+array[i];
- }
- return sum/5;
- }
- int main(){
- float average(float array[]); // 函数的声明
- float score[5]={10,2,3,1,7};
- printf("average is %0.2f",average(score));
- return 0;
- }
- 微信公众号
- 关注微信公众号
- QQ群
- 我们的QQ群号
评论