我希望编写不使用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的使用会有所帮助)
答案 0 :(得分:2)
在以下加上括号:
bool larger;
Num > 6 && (larger = true);
为什么?因为=
比&&
和>
具有lower precedence。这意味着表达式被解析为
((Num > 6) && larger) = true;
这是无效的作业