While 语句 (C++)

重复执行语句,直到表达式计算结果为零

语法

while ( expression )
   statement

备注

表达式的测试在每次执行循环之前开始,因此,while 循环执行零次或多次。 表达式必须是整型类型、指针类型或可以明确转换为整型或指针类型的类类型

当执行语句正文中的 breakgotoreturn 时,while 循环也可以终止。 使用 continue 可在不退出 while 循环的情况下终止迭代。 continue 将控制转移到 while 循环的下一次迭代。

以下代码使用 while 循环剪裁字符串中的尾随下划线:

// while_statement.cpp

#include <string.h>
#include <stdio.h>
char *trim( char *szSource )
{
    char *pszEOS = 0;

    //  Set pointer to character before terminating NULL
    pszEOS = szSource + strlen( szSource ) - 1;

    //  iterate backwards until non '_' is found
    while( (pszEOS >= szSource) && (*pszEOS == '_') )
        *pszEOS-- = '\0';

    return szSource;
}
int main()
{
    char szbuf[] = "12345_____";

    printf_s("\nBefore trim: %s", szbuf);
    printf_s("\nAfter trim: %s\n", trim(szbuf));
}

终止条件在循环顶部进行评估。 如果没有尾随下划线,循环永远不会执行。

另请参阅

迭代语句
关键字
do-while 语句 (C++)
for 语句 (C++)
基于范围的 for 语句 (C++)