了解所需的C代码

时间:2010-05-09 09:34:57

标签: c recursion

int Size(struct node* node)
{
   if(node == NULL)
   {
      return 0;
   }
   else if(node != NULL)
   {
      return (Size(node->left) + 1 + Size(node->right));
   }
}

嗨,任何人都可以发布以下代码的堆栈跟踪。

让我们说如果插入值2,1,10,5 ...... 然后在递归过程中可能是堆栈表示..请,它非常紧急,而且非常令人困惑......

2 个答案:

答案 0 :(得分:2)

为什么不简单地使用printf?一个进入,一个离开功能:

int Size(struct node* node)
{
    printf("Enter %d\n", ( node ? node->value : -1 ));
    ...
    printf("Leave %d\n", ( node ? node->value : -1 ));
}

答案 1 :(得分:0)

尝试使用gdb并查看gdb的backtrace / bt命令。