• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

如何理解如下C语言语句的逻辑结构

if (tri->LeftChild)   //条件1                return;     //操作1        if ( tri->BaseNeighbor && (tri->BaseNeighbor->BaseNeighbor != tri) )  //条件2                Split(tri->BaseNeighbor);到return这里没有问题。如果条件1满足,那么结束该方法。关键它与下一个条件结构的逻辑连续上怎么理解。是条件1不满足再去判断条件2?还是条件1满足了,那么执行操作1,然后接下去判断条件2,以此类推?

最好能给个流程图,我一直不太懂这样直接顺序写两个if结构还没有else部分的,在逻辑上到底是怎么运行的

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

全部参与3

从上述代码上理解,条件1满足,则退出执行。在条件一不满足的情况下才会执行条件二。
两个if结构的意思是,只要满足条件,就会进入方法体的执行。
你的思路会乱,是因为操作1的return干扰了你的思路,你可以先把return屏蔽,看作其他代码,比如赋值代码,这样就比较好理解两个if的结构了

使用道具 举报

执行Split(tri->BaseNeighbor);的条件是:条件1不满足且条件2满足
这很好理解,如果条件1满足则return不会向下执行,所以当条件1不满足才会向下执行下面的语句
而下面的语句则是if语句,满足则执行,不满足不执行
所以上面的代码相当于:
if(tri->LeftChild)//条件1return;//操作1else{if(tri->BaseNeighbor&&(tri->BaseNeighbor->BaseNeighbor!=tri))//条件2Split(tri->BaseNeighbor);//如果后面还有语句在else内部执行}

使用道具 举报

条件1满足,就return
不满足则判断条件2
两个if是顺序执行的,是不同语句

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!