是否有可能避免在条件中出现许多 "或"(||)造成相同的动作? - 页 8

 
paladin80:

在我的程序中,如果有许多if,我就使用这种结构,首先是最常给出假的条件。

而如果我需要检查大量的if-ops,我就用这种方式。
谢谢你,马克西姆!但这没有用,因为我的不同条件在逻辑上没有可比性,在参数上也没有可比性。
 
alsu:

不,它不是那样工作的。首先,if()后面必须有东西,至少只有一个分号(即一个空运算符) 。第二,你的 "如果 "是指属于哪一个 "如果"?如果它只指最后一个(像你写的那样),那么只有当D条件为真时,A、B和C为假时,Action才会被执行。最好是放置大括号,以便清楚地看到逻辑。

如果我的强调是可能的,那么这样做是个好主意。

if (!A && !B && !C && !D) ;//пустой оператор
else Action();

  

如何?有可能吗?-------------------------- 我在代码中检查了它,编译器给出了一个警告。

';' - 分号意外 C:\Program Files\

如果成功了,我们也能忍受警告吗!?

 
borilunad:

如果我所强调的那个是可能的,那么让它成为可能是个好主意。

如何?有可能吗?-------------------------- 在代码中检查,编译器给出了一个警告。

';' - 分号意想不到 C:\Program Files\

如果成功了,我们也能忍受警告吗!?

if (!A && !B && !C && !D) return(0); //закончение действия программы
else Action();
 
paladin80:

非常感谢您!多么容易啊!

然而,我不得不把这个块放在开始的最后,因为return(0)不能让其他东西在它之后工作。

 
有没有人测量过速度?)))
 
TheXpert:
有没有人测量过这个速度?)))

我将测量一下!

我终于测出了它!现在是17.26!这比半年来在测试器中没有任何技巧的最佳if()多了10分钟。对不起,但这也是没办法的事!我将继续挖掘!谢谢大家!但现在总结还为时过早!

 
borilunad:

如果我所强调的那个是可能的,那么把它变成这样就好了。

如何?有可能吗?-------------------------- 在代码中检查,编译器给出了一个警告。

';' - 分号意想不到 C:\Program Files\

如果成功了,我们也能忍受警告吗!?


如果有人只是在错误的地方放了一个逗号,就会发出警告(空的';'运算符 不经常使用)。这种结构是可行的,也是完全合法的。
 
borilunad:
我来量一下!

但你必须检查所有的选项。否则你可能是错的。
 
borilunad:

如果我所强调的那个是可能的,那么把它变成这样就好了。

如何?有可能吗?-------------------------- 在代码中检查,编译器给出了一个警告。

';' - 分号意外 C:\Program Files\

如果成功了,我们也能忍受警告吗?

为了使警告不那么令人讨厌,请使用。{}

if (!A && !B && !C && !D) {} //пустой оператор
else Action();

 
PapaYozh:

为了不让警告杂乱无章地出现在你的眼前,请使用{}。{}

谢谢你!我现在要试试这些支架!"。