【发布时间】:2017-10-21 20:09:06
【问题描述】:
我想知道在for 循环的增量语句而不是for 循环的主体中增加阶乘是否是一种好习惯?
下面显示了在增量语句中乘法递增的阶乘:
for(Count = 1; Count <= 10; Factorial *= Count, Count++);
另一种方法是在 for 循环的主体内增加阶乘:
for(Count = 1; Count <= 10; Count++)
{
Factorial *= Count;
}
由于for 循环中的第三个参数用于递增,以这种方式递增是好还是坏的做法/代码风格?我相信它对可读性没有任何权衡 + 通过节省一些空间来整理代码,虽然它不会改变程序的结果,但是以这种方式使用 for 循环有什么负面影响吗?
【问题讨论】:
-
“我相信它在可读性方面没有任何折衷”确实如此,而且我敢打赌大多数人不会认为它是一种整洁。
-
许多人不希望在
for之后看到;,可能会错过它或认为这是一个错误。就我个人而言,我喜欢将循环的控制与所采取的行动分开。 -
还有第三个版本,我觉得比你的第一个好,但比你的第二个差:
for(Count = 1; Count <= 10; Factorial *= Count++); -
@Steve 对于空的
for循环,我看到的惯例是将分号本身放在下一行,缩进。这很清楚循环体是空的。 -
@TomKarzes 我认为一个空的
{ }会更清楚,但你也可以将正文包含在其中......
标签: c for-loop coding-style factorial readability