以下各个条件判断有什么区别?

struct TriTreeNode
{
	TriTreeNode *LeftChild;
	TriTreeNode *RightChild;
	TriTreeNode *BaseNeighbor;
	TriTreeNode *LeftNeighbor;
	TriTreeNode *RightNeighbor;
};    //有一个结构体定义如上所述

if (tri->LeftChild)

if (!tri->LeftChild)

if (tri->LeftChild != NULL)   //这三种条件应该怎么理解,条件1和3有区别么


JustV
浏览 1490回答 1
1回答

心有猛虎_细嗅蔷薇

第一个条件为:如果为真,即有左孩子;第二个条件:应该这样写:if(!(tri->LeftChild))! 与结果相反,即没有左孩子;第三个条件:指向的左孩子为非空,即左孩子的值不为NULL;
打开App,查看更多内容
随时随地看视频慕课网APP