【发布时间】:2019-06-05 19:07:45
【问题描述】:
我无法理解这段代码的具体工作原理:
int length = 1;
int x = 234567545;
while (x /= 10)
length++;
它应该计算 int 变量中的位数。我不明白while 循环是如何工作的。循环是否默认为零并停止?还有,为什么长度是从1开始的?
【问题讨论】:
-
使用调试器单步调试程序并观察
x变量的值。顺便说一句,/=表示x = x / 10。 -
顺便说一句:获取正数位数的更简单方法是
ceil(log10(x))。 -
@duskwuff ... 当 x
-
为什么这个问题跑题了?
-
@PeterMortensen 我同意。如果有的话,给出的原因是题外话。 OP 没有要求关于书籍或工具等的建议。
标签: c++ while-loop