我希望编写条件代码而不使用C语言的(if/else/?/while etc...)
。
例如以下代码:
if (Num>6) printf("T");
可以转换为(并且仍然执行相同的任务):
Num>6 && printf("T")
但以下内容:
bool larger;
if (Num>6) larger=true;
不能替换为:
bool larger;
Num>6 && larger=true;
因为需要左值作为赋值的左操作数
有帮助吗? (我认为&&
操作和使用bool会有所帮助)
添加括号:
bool larger;
Num > 6 && (larger = true);
为什么?因为=
比lower precedence和&&
具有>
。这意味着该表达式被解析为
((Num > 6) && larger) = true;
这是无效的分配