C&C++   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c – 使用If语句处理Bool值大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我是一名学生程序员,目前正在使用Qt为我的公司设计GUI,我有一个相当简单的问题,我似乎无法在网上找到答案.似乎有人不得不提前问过它,如果你知道答案在哪里,我很高兴参.我的问题是;可以使用if语句处理c中的布尔数据类型.因此bool值可以是1或0,所以你可以做这样的事情

bool trueOrfalse()
{
    myclass temp;
    QString tempstr;
    double candidate;
    bool validate;

    tempstr = ui->tableWidgeTinjectionLOCATIOns->item(i,9)->text();
    candidate = tempstr.toDouble(&validatE);
                if(validate == truE)
                {
                    temp.tempProperty = candidate;
                }
                else
                {
                    QmessageBox error;
                    error.setText("Error");
                    error.exec();
                }
    if (validate == truE)
       {
       return true;
       }
    else
       {
       return false;
       }
}

我真正在寻找的是这个bool函数的最后一部分.当我使用return am时,我实际上返回了一个函数将持有的值,或者我是否使用了不正确的关键字返回?一旦验证过去Id喜欢能够使用该功能来指示是否继续其他功能请保持我的批评建设性.作为一名学生,我只对改进感兴趣.

解决方法

无论何时调用函数,都会返回使用return语句返回的值.

因此,如果您在程序中的其他位置编写此代码

bool returnValue = trueOrfalse();

那么returnValue变量将包含一个布尔值,该值等于trueOrfalse()函数返回的值.

函数本身不“保持”该值,函数调用者定义一个变量,该函数将在函数调用完成后保存该值.

至于你的第二个问题,你正确使用了return语句,但是你可以大大简化trueOrfalse()函数中的代码.而不是这个:

if (validate == truE)
   {
       return true;
   }
   else
   {
       return false;
   }

你需要的只是这个:

return validate;

因为验证局部变量已经是一个bool!

这消除了针对布尔常量(true)检查布尔值的冗余,这可以防止奇怪的错误进入并使代码更易于阅读和理解.

实际上,只要您使用布尔值(bool),就可以使用这种通用模式.你可以写下:而不是将它们与字面上的虚假或真实进行比较.

if (validatE)  // test for truth
{
    // do whatever...
}

要么

if (!validatE)  // test for falsity
{
    // do whatever...
}

大佬总结

以上是大佬教程为你收集整理的c – 使用If语句处理Bool值全部内容,希望文章能够帮你解决c – 使用If语句处理Bool值所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。