为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C C# C++
JustV 2017-03-05 10:20:08
struct TriTreeNode { TriTreeNode *LeftChild; TriTreeNode *RightChild; TriTreeNode *BaseNeighbor; TriTreeNode *LeftNeighbor; TriTreeNode *RightNeighbor; };    //有一个结构体定义如上所述 if (tri->LeftChild) if (!tri->LeftChild) if (tri->LeftChild != NULL)   //这三种条件应该怎么理解,条件1和3有区别么
查看完整描述

1 回答

已采纳
?
心有猛虎_细嗅蔷薇

TA贡献119条经验 获得超250个赞

第一个条件为:

如果为真,即有左孩子;

第二个条件:

应该这样写:if(!(tri->LeftChild))

! 与结果相反,即没有左孩子;

第三个条件:

指向的左孩子为非空,即左孩子的值不为NULL;

查看完整回答
反对 回复 2017-03-05
  • JustV
    JustV
    第一个条件和第三个有什么区别
  • onemoo
    onemoo
    没有区别。NULL指针就是该指针没有指向任何东西。第三个判断该指针不为NULL,也就是和第一个判断的条件是等效的
  • 1 回答
  • 0 关注
  • 1484 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信