企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# C 程序:计算整数中的位数 > 原文: [https://www.programiz.com/c-programming/examples/digits-count](https://www.programiz.com/c-programming/examples/digits-count) #### 在此示例中,您将学习计算用户输入的整数中的位数。 要理解此示例,您应该了解以下 [C 编程](/c-programming "C tutorial")主题: * [C 编程运算符](/c-programming/c-operators) * [C `while`和`do...while`循环](/c-programming/c-do-while-loops) * * * 该程序从用户处获取一个整数并计算位数。 例如:如果用户输入 2319,则程序的输出将为 4。 * * * ## 计算位数的程序 ```c #include <stdio.h> int main() { long long n; int count = 0; printf("Enter an integer: "); scanf("%lld", &n); // iterate until n becomes 0 // remove last digit from n in each iteration // increase count by 1 in each iteration while (n != 0) { n /= 10; // n = n/10 ++count; } printf("Number of digits: %d", count); } ``` **输出** ```c Enter an integer: 3452 Number of digits: 4 ``` * * * 用户输入的整数存储在变量`n`中。 然后,迭代`while` [循环](https://www.programiz.com/c-programming/c-do-while-loops),直到将测试表达式`n != 0`求值为 0(假)。 * 第一次迭代后,`n`的值为 345,`count`增为 1。 * 在第二次迭代后,`n`的值为 34,`count`递增为 2。 * 在第三次迭代后,`n`的值为 3,`count`增至 3。 * 在第四次迭代之后,`n`的值将为 0,并且`count`增至 4。 * 然后,将循环的测试表达式求值为`false`,然后循环终止。