我想知道在 for
循环而不是 for
循环的增量语句中递增阶乘是否是一种好的做法?
下面显示了在增量语句中乘法递增的阶乘:
for(Count = 1; Count <= 10; Factorial *= Count, Count++);
另一种方法是在 for
循环体内递增阶乘:
for(Count = 1; Count <= 10; Count++)
{
Factorial *= Count;
}
由于 for
循环中的第三个参数用于递增,以这种方式递增是好的还是坏的实践/代码风格?我相信它在可读性方面没有任何折衷 + 通过节省一些空间来整理代码,虽然它不会改变程序的结果,但以这种方式使用 for 循环是否有任何负面影响?
最佳答案
不要将循环体移动到循环头中。
将循环组件分为循环体和循环头大大提高了可读性。
您的读者只需快速浏览第二个代码片段,就能从循环的控制(其他所有内容)中分辨出循环的“有效负载”(即 Factorial *= Count
)。您的第一个代码片段会让您的读者挠头几秒钟,然后他们才意识到 (1) for
循环末尾有一个分号,以及 (2) 循环的有效负载在标题中。
编译器可能会在两种情况下生成相同的代码这一事实根本不应该成为一个因素。
关于c - 在 for 循环的增量语句而不是 for 循环的主体中递增阶乘是一种好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46867584/