我有以下问题
在我的应用中,我有严格的if语句
if ( (number >= 1 && number <= 18) && !strcmp("half1-18", _myBetCh) ) {
}
现在我意识到我必须拆分这个条件,因为我需要一个条件后的布尔变量
bool success = false,
if(!strcmp("half1-18", _myBetCh) {
success = true;
if (number >= 1 && number <= 18) {
}
}
这有解决方法吗?例如,是否可以使用if语句进行赋值?
答案 0 :(得分:2)
这是可能的,像这样:
if ((success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18)
但我个人认为条件中的作业是混乱的,难以阅读,并且更喜欢这种变化:
bool success = strcmp("half1-18", _myBetCh) == 0;
if (success && number >= 1 && number <= 18) {
// ...
}
答案 1 :(得分:1)
嗯,有:
if ( !strcmp("half1-18", _myBatCh) && (success = true, number > 1 && number < 18) )
或者,无需提前success = false
if ( (success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18 )
你的方式更容易阅读,所以我会考虑坚持你所拥有的。