【发布时间】:2013-02-05 01:32:17
【问题描述】:
将; 放在while 的末尾或不将它放在do while 循环的末尾总是有问题。那么是什么原因呢?为什么
int numItemsToProcess = 3;
while(numItemsToProcess > 0)
{
// process an item
numItemsToProcess--;
}
最后不需要;,但是
do
{
numItemsToProcess --;
} while (numItemsToProcess > 0);
有吗?
也许原因不是太重要。但是当你知道原因时,你会记得把;放在哪里。
【问题讨论】:
-
因为C或C++的语法是这么定义的。
-
有一种情况需要在
}之后放置;- 它是类/结构/联合声明。另一方面,您必须在每个语句之后放置; -
@BasileStarynkevitch:这不是答案。 Joachim Pileborg 发布了答案。你的只是噪音,阻碍了好奇心。 “因为规范这么说herp derp”答案很糟糕。显然,每条规则都有一个原因。
-
@BasileStarynkevitch ~> 但我认为它不是随机选择的 :)
-
@EdS。可悲的是,C 和 C++ 标准远远不够理性。为什么标准采用某种语法不一定有一个合乎逻辑的解释。或者也许曾经有一个,但你必须做编程语言考古并找到 BCPL 语言或类似语言的基本原理。
标签: c++ c while-loop do-while