do
是 C 中的一个关键字,我所看到的是它只与while
. 所以我的问题是可以do
单独使用而没有while
.
如果是怎么办?
更准确地说,这就是C 标准所说的:
6.8.5 迭代语句
句法
迭代语句:
while ( expression ) statement
do statement while ( expression ) ;
for ( expressionopt ; expressionopt ; expressionopt ) statement
for ( declaration expressionopt ; expressionopt ) statement
顺便说一句,do 语句最常用于提供一些语法糖并将预处理器宏用作普通 C 函数:
#define MY_MACRO_FNC(x) do { whatever(x); } while(0)
/* later in you call this macros as */
MY_MACRO_FNC(x);
do 是在 do-while 循环中使用的关键字。使用 do-while 循环的一般语法是:do{//Logic }while(condition);