for,while或do之间是否存在任何性能差异?在c中循环?
我的一位教授告诉我,当我从不使用它时,循环更快(为了便于阅读,我认为for循环的可读性低于(do ...)while循环)。
我手边没有编译器,也没有时间测试执行时间,如果有差异,我想知道原因。
(我知道很多问题看起来很相似,但要么是在问这边做什么,或者没有任何答案)
答案 0 :(得分:2)
所有三个迭代语句的整体语义在编译成二进制代码后都是相同的。
他们只是在同一件事上提供不同的品味。表现取决于:
由于它们都提供了它们,因此它们中的任何一个都没有性能差异。除非你考虑在任何情况下你都不应该关心的小的无关紧要的东西。
可能会有一些优化技巧可以根据循环的类型完成,但你不应该依赖它们,即使它们可能依赖于编译器,从你的角度来看也毫无意义。