繁体   English   中英

了解所需的C代码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM