Оператор while (C++)

Выполняет оператор многократно, пока выражение не будет равно нулю.

Синтаксис

while ( expression )
   statement

Замечания

Тест выражения выполняется перед каждым выполнением цикла, while поэтому цикл выполняется нулевым или более раз. выражение должно быть целочисленным типом, типом указателя или типом класса с однозначным преобразованием в целочисленный или указательный тип.

while Цикл также может завершиться при выполнении разрыва, goto или возврата в тексте инструкции. Используйте продолжение завершения текущей итерации без выхода из 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++)