循环
while 循环
示例:统计数字位数
#include <stdio.h>
int main()
{
int x;
int n = 1;
scanf("%d", &x);
x /= 10;
while (x > 0) {
n++;
x /= 10;
}
printf("X有%d位数\n", n);
return 0;
}
过程分析:
输入 3527
x=3527, n=1
第1轮:x/=10 → x=352, 352>0? 是, n=2
第2轮:x/=10 → x=35, 35>0? 是, n=3
第3轮:x/=10 → x=3, 3>0? 是, n=4
第4轮:x/=10 → x=0, 0>0? 否 → 退出
输出: X有4位数
do-while 循环
区别:do-while 先执行一次再判断条件,至少执行一次。
// 用 do-while 统计位数(更简洁)
#include <stdio.h>
int main()
{
int x;
int n = 0;
scanf("%d", &x);
do {
n++;
x /= 10;
} while (x > 0);
printf("%d\n", n);
return 0;
}
💡 while vs do-while 的选择: - 如果能确定条件在第一次就为假:选
while- 如果至少需要执行一次:选do-while- 统计位数用do-while更简洁(x=0 时也输出 1 位数)