sswy 发表于 2018-7-2 22:12:37

我这样学习可以吗?

遇上递归代码,可以读懂所有每一步,但是自己写就写不出来,如果把别人写的递归背下来呢?这样的莽夫流可以吗

凌九霄 发表于 2018-7-2 22:22:35

背下来没用,始终是要理解,别人的代码大多情况下,你不能直接拿来用

sswy 发表于 2018-7-2 22:23:26

凌九霄 发表于 2018-7-2 22:22
背下来没用,始终是要理解,别人的代码大多情况下,你不能直接拿来用

谢谢老师

由矣月刹 发表于 2018-7-2 23:00:29

我感觉,读懂了就行了啊,理解也是建立在代码量的基础上啊,先背下来再说,没有人写代码是全部是自己的想法,还不是东凑一点西凑一点

BngThea 发表于 2018-7-3 08:44:27

不要一步走的太远,递归什么的实际中很少用,建议初学过程中pass

关键是感觉 发表于 2018-7-3 15:27:38

本帖最后由 关键是感觉 于 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]
查看完整版本: 我这样学习可以吗?