[英]Understanding of a C code required
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 ...那么递归过程中的栈表示形式可能是..请,它非常紧急,也非常令人困惑...
为什么不简单地使用printf? 进入功能时一个,离开功能时一个:
int Size(struct node* node)
{
printf("Enter %d\n", ( node ? node->value : -1 ));
...
printf("Leave %d\n", ( node ? node->value : -1 ));
}
尝试使用gdb并查看gdb的backtrace / bt命令。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.