递归:函数定义里调用了自身于是从头运行函数 直至函数不再调用自身 到出口结束
递归:函数定义里调用了自身于是从头运行函数 直至函数不再调用自身 到出口结束
总结:
用函数封装的程序,有更好地易读性,查错效率会有指数级增长。
递归和递推不一样,递推是一种算法;递归是一种编程技巧,解题方式;
while ( ~scanf("%d", &n)) 也可以实现一个循环读入的功能
EOF等于读入-1,而 -1 的二进制表示全都是1,按位取反全都是0,0表示条件不成立,相当于读到了EOF,文本末尾;
有两个区域可以开空间:一个叫做栈区,一个叫做堆区;
系统在分配的时候,栈区占8MB的字节,大约200万个整型int;而堆区和内存有关系,内存16G就可以开很大很大。
在定义函数的时候,占用的就是栈区。
在函数里面调用自己的时候,如果没有合适的出口,调用自己的时候,会不断开辟新的变量。