我这样学习可以吗?
遇上递归代码,可以读懂所有每一步,但是自己写就写不出来,如果把别人写的递归背下来呢?这样的莽夫流可以吗 背下来没用,始终是要理解,别人的代码大多情况下,你不能直接拿来用 凌九霄 发表于 2018-7-2 22:22背下来没用,始终是要理解,别人的代码大多情况下,你不能直接拿来用
谢谢老师 我感觉,读懂了就行了啊,理解也是建立在代码量的基础上啊,先背下来再说,没有人写代码是全部是自己的想法,还不是东凑一点西凑一点 不要一步走的太远,递归什么的实际中很少用,建议初学过程中pass 本帖最后由 关键是感觉 于 2018-7-3 15:31 编辑
唉又是递归,我到现在都不理解 “汉诺塔”
反正我理解是函数自身调用自己。
比如这样
#include <stdio.h>
int input(int *p){
int n;
scanf("%d",&n);
if(n){
int index=input(p);
*(p+index)=n;
return index+1;
}
return 0;
}
int main(void){
int index;
int arr;
input(arr);
index=0;
while(arr){
printf("%d ",arr);
index++;
}
return 0;
}
把输入的数字倒序存储,以0结束
递归效果演示:http://bbs.fishc.com/thread-117848-1-1.html
结论就是没必要死磕,递归就是自己调用自己,遇见问题的时候,你有时候自然就会联想到递归,这时候你会自然的写出递归。
页:
[1]