逻辑结果为整型,被调函数发现错误无法通知主调函数。
#include <assert.h>
void assert(表达式)若表达式为假终止程序不再执行。
一,函数传参
实参向形参只能值传递,无法在被调函数中修改主调函数。
传参方向自右向左 add(i,j) 先传j再传i。
二,五个工作区
(1)栈区,保存返回地址,函数形参及定义的变量。栈先进后出,后进先出,保护现场。
(2)堆区
(3)字符串常量区
(4)静态区(全局区)
(5)代码区
三,函数递归调用
在调用函数f的过程中,又要调用f函数,这是直接调用本函数,如果在调用f1函数过程中要调用f2函数,而在调用f2函数过程中又要调用f1函数,就是间接调用本函数,这两种递归调用都是无终止的自身调用,会使栈区消耗完使程序崩溃。
递归调用求阶乘
递归求斐波那契数列第n个数