函数的声明
为什么要声明
当被调用函数的定义在主调函数后面,此时应该在主调函数中对被调用函数进行声明,方便编译系统检查函数调用语句的合法性
函数调用时参数的传递:非指针类型的数据做函数参数,由实参将值对应地传递给形参,实参形参占用不同的内存单元,形参的改变不会影响到实参
数组名(指针)做函数参数,实参将值(地址)对应地传递给形参,形参实参占用同一内存单元,形参的改变就是实参的改变
函数的递归调用:函数直接或间接调用自身,可以分为“回溯”和“递推”两个阶段
递归调用:1)规律相同,由复杂问题逐步化解成简单问题
2)递归出口,已知条件
斐波那契数列
f(n)= 1 n=1,2
f(n-1)+f(n-2) n>2
sum(n)= 1 n=1
sum(n-1)+n n>1