首页 新闻 会员 周边

关于if语句中返回TRUE或FALSE的含义

0
[已解决问题] 解决于 2012-09-11 17:34

if(AbsContainer_MessageBoxPane->QueryFlag(E_FLAG_VISIBLE))
{
  return FALSE;
}

请问这里的返回值FALSE是返回到哪里,不是只有函数才有返回值的吗?为啥if语句中也有返回值的?谢谢解答!

第五元素~MJ的主页 第五元素~MJ | 初学一级 | 园豆:6
提问于:2012-09-11 11:22
< >
分享
最佳答案
0

这是的返回值是,if所在函数的返回值。

奖励园豆:5
向往-SONG | 老鸟四级 |园豆:4853 | 2012-09-11 11:28

但是那个函数里面有很多If语句,几乎每个if语句都有这样的返回值。那么如果多个判断条件依次满足的话,岂不是有多个返回值么?不太理解这个

第五元素~MJ | 园豆:6 (初学一级) | 2012-09-11 12:29

@linuxkiller7967: 

一旦返回了,后面的代码就不会执行了。

向往-SONG | 园豆:4853 (老鸟四级) | 2012-09-11 12:31
其他回答(1)
0

其实你的理解可能被好多个返回值给弄迷糊了,其实函数的返回值就是一个bool类型,true或false,至于你说的很多判断里都有返回值,那是要看这么多的判断里究竟是程序走到哪里出现错误的问题而返回的错误,也就是函数的返回值,所以这就是对函数的调用安全和查找出错位置。

解释的不知道说清楚没有,其他人认为我哪里说的不正确可以指出,我好改正,希望能给你带来帮助。

励志 | 园豆:220 (菜鸟二级) | 2012-09-11 13:41

“要看这么多的判断里究竟是程序走到哪里出现错误的问题而返回的错误,也就是函数的返回值,所以这就是对函数的调用安全和查找出错位置。”这句话没太读明白。能重新解释一下吗?谢谢啊

支持(0) 反对(0) 第五元素~MJ | 园豆:6 (初学一级) | 2012-09-11 16:23

@linuxkiller7967: 我的意思也就是:你比方我的函数执行很多个判断

bool create(char* serIP, short sndPort, short revPort)

{

  if(sndPort <= 0)

  { 

   return false;

  }

  else IF(revPort <= 0)

  {

    return false;

  }

  if(serIP == NULL)

  {

    return false;//假设说程序执行到这里发现serIP参数为空,前面的判断都正常走,这样我们调试         //就知道是这里出现了问题返回的false,换句话说:如果这里出现了问题函数就返回         //了,下面如果有代码他就不会执行了,不管后面还有多少代码,就在这里返回了,就像其他人所说的程序return了。

  }

支持(0) 反对(0) 励志 | 园豆:220 (菜鸟二级) | 2012-09-11 16:31

@励志: 好的,这回很清晰明白了。谢谢你的耐心解答啊

支持(0) 反对(0) 第五元素~MJ | 园豆:6 (初学一级) | 2012-09-11 17:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册