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 ...... 然后在递归过程中可能是堆栈表示..请,它非常紧急,而且非常令人困惑......
答案 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命令。