do while 循环¶
基本语法¶
先执行循环体,再判断条件。
条件成立,就再执行一轮;不成立,就结束循环。
输出 1 2 3。
while 与 do while 的区别¶
while 先判断,再执行,循环体可能一次也不执行。
do while 先执行,再判断,循环体至少执行一次。
数位拆分,求位数¶
有些操作,至少要做一次,就可以考虑 do while。
比如求一个非负整数的位数,0 也是一位数。
输入 123,输出 3;输入 0,输出 1。
如果直接用 while (x),输入 0 时,循环一次也不执行,需要另外处理。
常见错误¶
最后的分号,不能漏。
注意与 while 循环区分,分号的位置不同。
条件不成立,也会先执行一次。
如果第一次操作之前就需要检查条件,应该先判断,不能直接照搬 do while。
循环里,也要让条件有机会改变。
前面的例子,漏掉 i++ 或 x /= 10,都可能变成死循环。