为什么指针和递归看起来像一个复杂的问题?

Rac*_*hel 6 recursion pointers

最近我正在阅读关于Joel采访软件工程职位的文章,他提到了在一些简单的谜题之后向候选人询问Recursion和Pointer的问题.

我想知道为什么Pointers和Recursion被认为是复杂的问题?

更新:如果可以这样说,可以采取哪些措施来改进指针和递归技巧?

谢谢.

Sco*_*ttF 22

有人曾对我说过,我同意 - 指针是一个简单的概念,但很难编码,递归是一个困难的概念,但很容易编码.

指针编码可能很棘手,因为问题所在的位置可能并不明显,或者甚至存在问题 - 指针引起的问题可能不会出现在第一次或第二次甚至第一百次运行中,但随后突然发生,你有一个问题.调试它们也很困难.

递归很容易编码 - 只需要调用函数本身,并做一些事情来跟踪你的位置.困难在于确保您对函数可能采用的所有可能路径有足够的理解,并确保它始终能够自行退出循环.