1.函数的递归调用
——函数直接或间接调用自己:必须要判断是否进行,1参数中间是不算的2必须在函数里调用m=max2(max2(a,b),c)不算。
2.如何写递归
只考虑两层关系(而不是全局),且能-1已知=>数学归纳:假设n-1次以求得确定值,确定第n-1和第n次的关系。
3.汉诺塔问题(只能用递归)
从B移动到C,共10层。
4.转进制
4.栈溢出(不设定终止条件)
fun永远在保存而不恢复现场。
不断保存现场而不恢复现场,栈只进不出。
而如下的每次abcd…都在栈里堆着。
可以设置“堆栈大小”。
11.4日课堂笔记
自动变量(本函数,动态存储区)形参同自动变量{代码块也算函数}
2.寄存器变量(cpu寄存器(快一个数量级))仅对自动变量和形参有效。
register int a;
3.
静态全局——内部链接性:本cpp
外部全局——多cpp
引用声明extern,不初始化,不分配存储空间(肯定在其他地方已经定义好了)
extern int tom; //1.cpp
int tom=0; //2.cpp外部全局
静态局部变量(静态存储):不会释放,每一次都用上一次执行的结果
static int fac=1;(与自动变量区别如下图)
::warming //作用域解析运算符——使用该变量全局版本
11.6-数组
冒泡排序