C Programming Language>第五章 5.4应遵守先定义后使用的调用规则 若函数定义在后,调用在先,则应在主调函 数的定义说明部分给出被调函数的原型说明 类型标识符函数名(形参表); 正确区分函数定义和函数原型说明 定义:是对函数功能的确立。 说明:是对已定义函数的函数名、函数类型 形参的个数、顺序和类型等信息的说明。 U bajin(slc,( cnb:
5.4 应遵守先定义后使用的调用规则 类型标识符 函数名(形参表); 若函数定义在后,调用在先,则应在主调函 数的定义说明部分给出被调函数的原型说明: 正确区分函数定义和函数原型说明: 定义:是对函数功能的确立。 说 明:是对已定义函数的函数名、函数类型, 形参的个数、顺序和类型等信息的说明
C Programming Language>第五章 5.5函数间的数据联系 个数值 0通过 return语句返回一个值或 个地址 设计 传值方式(单向传递) e形实参数传递结合{或 传地址方式(双向传递 通过外部(全局)变量进行数据传递。 U bajin(slc,( cnb:
5.5 函数间的数据联系 通过return语句返回一个值 一个地址 或 一个数值 通过return语句返回一个值 一个地址 或 一个数值 通过外部(全局)变量进行数据传递。 形实参数传递结合 传地址方式(双向传递) 或 传值方式(单向传递) 形实参数传递结合 传地址方式(双向传递) 或 传值方式(单向传递)
C Programming Language>第五章 5.6函数的递归调用 C语言的函数除了main0函数,都可以递归调用,但 不能递归定义,即不能在函数内部定义另一个函数, 但可以直接或间接地调用自己 0递归的概念:通俗地讲,用自身的结构来描述自身 就称为“递归”。这里指函数直接或间接的自己调用 设 自己。 e具有递归特性的问题,用递归调用描述它们就非常 方便。 U bajin(slc,( cnb:
5.6 函数的递归调用 递归的概念:通俗地讲,用自身的结构来描述自身 就称为“递 归”。这里指函数直接或间接的自己调用 自己。 C语言的函数除了main()函数,都可以递归调用,但 不能递归定义,即不能在函数内部定义另一个函数, 但可以直接或间接地调用自己。 具有递归特性的问题,用递归调用描述它们就非常 方便
C Programming Language>第五章 C语言的函数除了 main o函数,都可以递归调 用,但不能递归定义,即不能在函数内部定义 另一个函数,但可以直接或间接地调用自己 构成递归的条件 设 (1)递归结束条件及结束时的值; (2)能用递归表达式形式表示,并且递归向结束条 件发展 U bajin(slc,( cnb:
C语言的函数除了main()函数,都可以递归调 用,但不能递归定义,即不能在函数内部定义 另一个函数,但可以直接或间接地调用自己。 构成递归的条件: (1) 递归结束条件及结束时的值; (2) 能用递归表达式形式表示,并且递归向结束条 件发展
C Programming Language>第五章 C语言的函数除了 main o函数,都可以递归调 用,但不能递归定义,即不能在函数内部定义 另一个函数,但可以直接或间接地调用自己 例[5-1]: 设 当n=0,递归结束条件 求n n*(n-1)!当n不等于0,递推公式 U bajin(slc,( cnb:
例[5-1]: − = = 当 不等于 ,递推公式 当 ,递归结束条件 求 *( 1)! 0 1 0 ! n n n n n C语言的函数除了main()函数,都可以递归调 用,但不能递归定义,即不能在函数内部定义 另一个函数,但可以直接或间接地调用自己