C++ 中在 while 和 if 语句后使用分号


当你有一个这样的语句:

while (expression);

无论表达式是否为真,while 循环都会运行。但是,如果你这样写:

if (expression);

无论表达式是否为真,语句都会运行。这是因为 if 和 while 的语法是:

if (<expr>) <statement>
// or
while (<expr>) <statement>

所以只有当 <expr> 计算结果为真时,才会执行 <statement>。在 while 中,它将进入无限循环。

所以问题是什么 <statement> 它执行。如果没有花括号 {},则下一个语句以 ; 结束,即使该语句为空。请注意,空语句是有效的。

if (<expr>)    /* Empty Statement */;
while (<expr>) /* Empty Statement */;

在这两种情况下,都没有执行任何操作(在表达式计算后)。虽然 while 可能会进入无限循环。注意:'{}' 是一个语句块(一种包含其他语句列表的语句)。

更新于: 2020年2月11日

2K+ 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.