在if语句中赋值
Make assignment within if-statement
我有以下问题
在我的应用中,我有几个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语句中进行赋值操作?
这是可能的,像这样:
if ((success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18)
,但我个人认为条件下的作业很混乱,很难阅读,我更喜欢这样的变化:
bool success = strcmp("half1-18", _myBetCh) == 0;
if (success && number >= 1 && number <= 18) {
// ...
}
有:
if ( !strcmp("half1-18", _myBatCh) && (success = true, number > 1 && number < 18) )
或,避免需要更早的success = false
if ( (success = !strcmp("half1-18", _myBatCh)) && number > 1 && number < 18 )
你的方法更容易阅读,所以我会考虑沿用你的方法。
相关文章:
- 变量在使用赋值语句赋值后恢复为以前的值
- 对于单个数据 WORD 的 memcpy 和赋值语句有什么区别?
- 如何使C++编译器遵循与C#在该赋值语句中相同的优先级、关联性和求值顺序
- 复制构造函数和复制赋值运算符是否应具有相同的语句?
- c++ 如何计算赋值运算符(if 语句)
- 静态成员函数赋值而不带返回语句
- 在 If 语句 [C++] 中赋值变量
- 我很难为 if/else 语句编写此赋值的代码.这是第一堂编程课
- 为什么常量字符 INITIAL='G' 不是赋值语句?
- 基本赋值语句
- 在一个语句中对原子布尔变量进行多次赋值
- 什么是成员数据指针的正确赋值语句
- 赋值运算符和条件语句
- 需要左值作为赋值错误的左操作数通过 if 语句
- 如果赋值/语句在C++中意味着什么
- 循环内部的赋值语句
- 为什么这个c++赋值语句是非法的
- 赋值语句截断字符
- C++指针赋值语句似乎不起作用/做任何事情
- 在C语言中,如果if语句包含赋值语句,是否会更快?