C语言--函数

打印 上一主题 下一主题

主题 937|帖子 937|积分 2811

1. 函数定义

语法:
  1. 类型标识符 函数名(形式参数)
  2. {
  3.     函数体代码
  4. }
复制代码
(1)范例标识符 --- 数据范例(函数要带出的结果的范例)
注:数组范例不能做函数返回结果的范例,如果函数不必要带出什么结果,此时返回结果的范例说明符为void,如果返回结果的范例与范例说明符不一致,以范例说明符为准(范例说明符不写,默以为int)。
(2)函数名 --- 标识符,符合标识符定名规则
(3)形式参数 --- 表现改函数必要用到的数据
注:每一个形参变量都得指定范例,实参和形参必要范例匹配,参数个数相同,次序一一对应,如果不必要接收现实参数,形参一般计划为void
(4)函数体代码 --- 实现函数功能的代码。
        写法:                
  1. 数据类型 形参变量名1,数据类型 形参变量2...
  2. int a,int b
  3. int a,b     // 不能这样写
复制代码
2. 函数调用

函数调用的本质:现实上是使用栈的布局,先进后出,包管了函数可以层层嵌套调用。
调用者和被调用者:main函数时整个程序的入口,只能是调用者
注:函数不支持嵌套定义,但是可以嵌套调用
函数名是函数的入口地址。

3. 递归

可以实现循环的功能,是一种特殊的循环。
直接递归:自己调用自己
间接调用:调用其他函数,其他函数调用了自己,这样又实现了调用自己。
代码实现思路:
(1)递推关系 --- 从问题n到问题n - 1;
(2)递推竣事的条件
eg:前 n 项的累加求和
sum(n)=> sum(n-1)+ n            //递推关系
n = 1;                           // 竣事条件
  1. #include<stdio.h>
  2. int sum(int n)
  3. {
  4.     if(n==1)                    // 递推结束条件
  5.     {
  6.         return 1;
  7.     }else
  8.     {
  9.         return sum(n-1)+n;     // 递推关系
  10.     }
  11. }
  12. int main(void)
  13. {
  14.     int n;
  15.     printf("Input a num:");
  16.     scanf("%d",&n);
  17.     int ret = sum(n);
  18.     printf("%d\n",ret);
  19.     return 0;
  20. }
复制代码
代码运行结果:


4. 数组作为函数参数

(1)数组元素作为函数参数--- a[0]
(2)数组自己作为函数参数--- a
        形参--- 写成数组形式,还必要数组长度
        实参--- 数组名,数组长度
  1. printfArray(int a[],int len)    // 形参
  2. printArray(a,len);    //调用
复制代码
eg:打印数组元素
  1. #include<stdio.h>
  2. void printArray(int a[],int len)        // 定义形参
  3. {
  4.     int i = 0;
  5.     for(i = 0;i < len;++i)
  6.     {
  7.         printf("a[%d] = %d\n",i,a[i]);
  8.     }
  9. }
  10. int main(void)
  11. {
  12.     int a[] = {1,2,3,4,5,6,7,8,9};
  13.     int len = sizeof(a)/sizeof(a[0]);
  14.     printArray(a,len);                  // 调用时传入实参
  15.     return 0;
  16. }
复制代码


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

圆咕噜咕噜

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表