c语言自定义函数


本文摘自PHP中文网,作者V,侵删。

C语言无参函数的定义

如果函数不接收用户传递的数据,那么定义时可以不带参数。如下所示:

1

2

3

dataType  functionName(){

    //body

}

dataType 是返回值类型,它可以是C语言中的任意数据类型,例如 int、float、char 等。

functionName 是函数名,它是标识符的一种,命名规则和标识符相同。函数名后面的括号( )不能少。

body 是函数体,它是函数需要执行的代码,是函数的主体部分。即使只有一个语句,函数体也要由{ }包围。

如果有返回值,在函数体中使用 return 语句返回。return 出来的数据的类型要和 dataType 一样。

例如,定义一个函数,计算从 1 加到 100 的结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

#include <stdio.h>

 

int sum(){

    int i, sum=0;

    for(i=1; i<=100; i++){

        sum+=i;

    }

    return sum;

}

 

int main(){

    int a = sum();

    printf("The sum is %d\n", a);

    return 0;

}

运行结果:

1

The sum is 5050

函数不能嵌套定义,main 也是一个函数定义,所以要将 sum 放在 main 外面。函数必须先定义后使用,所以 sum 要放在 main 前面。

注意:main 是函数定义,不是函数调用。当可执行文件加载到内存后,系统从 main 函数开始执行,也就是说,系统会调用我们定义的 main 函数。

无返回值函数

有的函数不需要返回值,或者返回值类型不确定(很少见),那么可以用 void 表示,例如:

1

2

3

4

void hello(){

    printf ("Hello,world \n");

    //没有返回值就不需要 return 语句

}

void是C语言中的一个关键字,表示“空类型”或“无类型”,绝大部分情况下也就意味着没有 return 语句。

C语言有参函数的定义

如果函数需要接收用户传递的数据,那么定义时就要带上参数。如下所示:

1

2

3

dataType  functionName( dataType1 param1, dataType2 param2 ... ){

    //body

}

dataType1 param1, dataType2 param2 ...是参数列表。函数可以只有一个参数,也可以有多个,多个参数之间由,分隔。参数本质上也是变量,定义时要指明类型和名称。与无参函数的定义相比,有参函数的定义仅仅是多了一个参数列表。

数据通过参数传递到函数内部进行处理,处理完成以后再通过返回值告知函数外部。

计算从 m 加到 n 的结果:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#include <stdio.h>

 

int sum(int m, int n){

    int i, sum=0;

    for(i=m; i<=n; i++){

        sum+=i;

    }

    return sum;

}

 

int main(){

    int begin = 5, end = 86;

    int result = sum(begin, end);

    printf("The sum from %d to %d is %d\n", begin, end, result);

    return 0;

}

运行结果:

1

The sum from 5 to 86 is 3731

定义 sum() 时,参数 m、n 的值都是未知的;调用 sum() 时,将 begin、end 的值分别传递给 m、n,这和给变量赋值的过程是一样的,它等价于:

1

2

m = begin;

n = end;

推荐教程:c语言教程

以上就是c语言自定义函数的详细内容!

相关阅读 >>

C语言特点是什么

C语言求1到1000的同构数

C语言中数组所占字节怎么算

C语言中用户标识符的命名规则是什么

你知道C语言的标识符命名规则是什么吗(详解)

C语言中形参和实参有什么区别

C语言中break的用法

C语言float类型小数点后有几位有效数字?

一个c源程序中至少应包括一个什么函数

C语言简单心形代码

更多相关阅读请进入《C语言》频道 >>



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...