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循环可能会进入无限循环。注意:'{}'是一个语句块(一种包含其他语句列表的语句)。
广告
数据结构
网络
关系数据库管理系统 (RDBMS)
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP