gpt4 book ai didi

c++ - 了解 C++ 代码 - "Get the number of digits in an int"

转载 作者:IT老高 更新时间:2023-10-28 12:40:08 25 4
gpt4 key购买 nike

我无法理解这段代码的具体工作原理:

int length = 1;
int x = 234567545;
while (x /= 10)
length++;

它应该计算 int 变量中的位数。我不明白 while 循环是如何工作的。循环是否默认为零并停止?还有,为什么长度是从1开始的?

最佳答案

如果您是 C++ 初学者,您可能会怀疑以下三件事:

首先可能是运算符 /=,它将整数除法(即没有余数)与赋值相结合。所以 x/= 10 实际上和 x = x/10 是一样的。

其次,C++ 中的每个表达式在被计算之后都有一个值。对于像 (x = 0) 这样的赋值,结果是赋值后 x 的值,在这种情况下为 0

第三,像 if (x) ... 这样的条件,其中 x 是整数类型,在 C++ 中与 if(x != 0),即x等于0falsetruex 不是 0

All together: while ( x/= 10 ) 表示将 x 整数除以 10 的值,然后比较该值到 0。如果达到0,则循环结束。

顺便说一句:length1 开头,因为任何数字,即使是 0,都至少包含一位数字。

关于c++ - 了解 C++ 代码 - "Get the number of digits in an int",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54136717/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com