C语言函数声明与定义

C语言函数声明与定义教程

C 语言 中,使用 函数 前,必须先声明与定义函数。C 语言的函数由函数返回值类型 、函数名、参数列表、函数体和 返回语句 组成。

C语言函数声明与定义

语法

type funcName(paramType1 param1, paramType2 param2) { // 执行语句... return val }

参数

参数 描述
type 函数的返回值类型,如果没有任何返回值,则写 void,不可以死省略不写。
funcName 函数名。
paramType1 函数参数 param1 的类型
param1 函数参数
return 可选,函数返回值使用的关键字。
val 函数需要具体返回的值。

说明

我们定义了一个函数 funcName,该返回的返回值类型是 type,如果没有返回值,则写 void。

该函数有两个参数,分别为 paramType1 类型的参数 param1 和 paramType2 类型的参数 param2,函数的返回值为 val。

C语言函数调用详解

语法

type returnVal = funcName(param1, param2)

说明

关键字 说明
type 函数的返回值类型
returnVal 函数返回值
funcName 要调用的函数的名称
param1 函数的参数1
param2 函数的参数2

说明

我们调用了函数 funcName,该函数有两个参数,一个返回值 returnVal。

案例

寻找最大数

用函数,实现寻找两个数的最大数

#include <stdio.h> int maxInt(int a, int b) { if (a > b) { return a; } return b; } int main() { printf("嗨客网(www.haicoder.net)\n\n"); int maxValue = maxInt(10, 20); printf("MaxValue = %d\n", maxValue); return 0; }

程序运行后,控制台输出如下:

02_C语言函数定义.png

我们定义了一个函数 maxInt,传入两个 int 类型 的参数 a 和 b,函数返回一个 int 类型的参数。在函数里面,我们使用 if 语句 判断 a 和 b 的值,如果 a > b 成立,那么就返回 a 的值,如果不成立,则返回 b 的值,因此实现了寻找 a 和 b 中最大数的逻辑。

接着,我们调用了 maxInt 函数,并传入了两个参数 10 和 20,使用 maxValue 变量来接受 maxInt 函数返回的值,最后打印函数返回的结果。

计算和

实现计算两个数之间的所有数的和

#include <stdio.h> int sum(int a, int b) { int sum = 0; int i = 0; for (i = a; i <= b; i++) { sum += i; } return sum; } int main() { printf("嗨客网(www.haicoder.net)\n\n"); int sumResult = sum(10, 20); printf("sumResult = %d\n", sumResult); return 0; }

程序运行后,控制台输出如下:

03_C语言函数定义.png

我们定义了一个函数 sum,传入两个 int 类型的参数 a 和 b,函数返回一个 int 类型的返回结果。在函数里面,我们使用 for 循环 遍历 a 和 b 之间的所有数,并将它们相加赋值给变量 sum,最后返回 sum 即实现了求 a 和 b 之间的和的逻辑。

当然,这题,我们没有考虑 a 小于 b 的情况,最好的方法,应该是找到 a 和 b 中的最大值和最小值,然后再使用 for 循环遍历相加。

C语言函数声明与定义总结

在 C 语言中,使用函数前,必须先声明与定义函数。C 语言的函数由函数返回值类型 、函数名、参数列表、函数体和返回语句组成。C 语言函数声明与定义语法:

type funcName(paramType1 param1, paramType2 param2) { // 执行语句... return val }