while 陳述式 (C++)
重複執行 陳述式 直到 運算式 為零。
while ( expression )
statement
備註
陳述式的測試會在每個迴圈執行之前運算; 因此一個 while 迴圈會執行零次或一次以上。 運算式 必須是整數類別的資料型別、指標型別或一個類別型別且具有明確轉換為整數型別或指標型別。
當break, goto, 或是 return在陳述式被執行時,一個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));
}
終止條件的成立與否位在迴圈的最上方。 如果沒有多出來的底線,則此迴圈不會被執行。