Online Compiler C

#include <stdio.h> int main() { int n, i = 0; scanf("%d", &n); while(n>=1){ n = n/10; i++; } printf("%d\n", i); return 0; }
这段代码的功能是读取一个整数,然后计算这个整数有多少位数字。它通过不断除以10来去掉最后一位,每除一次计数器加1,直到数字变成0为止。

- 代码没有处理输入为0的情况。当输入0时,while循环条件n>=1不成立,直接输出0,但0本身是一位数,应该输出1。
- 如果输入负数,while循环条件n>=1也不成立,会输出0,但负数的位数应该和它的绝对值相同,比如-123是三位数。