do
-while
循环
来自 cppreference.cn
有条件地重复执行一条语句(至少一次)。
目录 |
[编辑] 语法
attr (可选) do 语句 while ( 表达式 ); |
|||||||||
属性 | - | (自 C++11 起) 任意数量的属性 |
表达式 | - | 一个表达式 |
语句 | - | 一个语句(通常是复合语句) |
[编辑] 解释
当控制到达 do 语句时,其语句将无条件执行。
每次语句执行完毕后,表达式将被评估并上下文转换为 bool。如果结果为 true,则语句将再次执行。
如果需要在语句内终止循环,可以使用break 语句作为终止语句。
如果需要在语句内终止当前迭代,可以使用continue 语句作为快捷方式。
[编辑] 注意
作为 C++ 前向进度保证的一部分,如果一个非平凡无限循环(C++26 起)且没有可观察行为的循环不终止,则行为是未定义的。编译器可以移除此类循环。
[编辑] 关键词
[编辑] 示例
运行此代码
#include <algorithm> #include <iostream> #include <string> int main() { int j = 2; do // compound statement is the loop body { j += 2; std::cout << j << ' '; } while (j < 9); std::cout << '\n'; // common situation where do-while loop is used std::string s = "aba"; std::sort(s.begin(), s.end()); do std::cout << s << '\n'; // expression statement is the loop body while (std::next_permutation(s.begin(), s.end())); }
输出
4 6 8 10 aab aba baa
[编辑] 参阅
C 文档 中关于 do-while
|