以下是否有任何区别:
if (!bool_function()) {
void_function();
}
Run Code Online (Sandbox Code Playgroud)
和
bool_function() || void_function();
Run Code Online (Sandbox Code Playgroud)
除了可读性?
即使第二个函数返回void,我可以使用第二个形式吗?在所有基于C语言的编程语言(C++,C#,Java)中,void_function如果bool_function返回true ,它是否会被执行?
编辑:我问的原因是因为我的C编译器甚至没有给出任何警告,它按预期工作.我正在使用IAR Embedded Workbench IDE.
zmb*_*mbq 11
嗯,是的,第二个不编译.
你不能or是一个布尔和一个虚空.
更新:你说你的C编译器编译它,它工作正常.我对此表示怀疑.也就是说,我确定你的编译器会编译它,但是结果是bool || void什么?void永远是真的吗?总是假的?有时一个,有时另一个?
简而言之 - 不要这样做.使用第一个表单,告诉每个人正确阅读您的代码您正在做什么.
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |