在C ++中的while和if语句后放置分号
当您有类似-
while (expression);
无论表达式是否为真,while循环都会运行。但是,如果您放-
if (expression);
无论表达式是否为真,该语句都会运行。这是因为if和while的语法是-
if (<expr>) <statement> //或 while (<expr>) <statement>
因此,仅在<expr>的值为true时才执行<statement>。一会儿,它将进入无限循环。
那么问题是它执行什么<statement>。如果没有括号{},则下一条语句终止于;即使该声明为空。请注意,空语句是有效的。
if (<expr>) /* Empty Statement */; while (<expr>) /* Empty Statement */;
在这两种情况下,都不会执行任何操作(在对表达式求值之后)。虽然while可能会进入无限循环。注意:“{}”是一个语句块(一种语句类型(包含其他语句的列表))。