在线编译器 C

#include <stdio.h> int main() { int count_digit=0,N; scanf("%d",&N); while(n > 0) { N=N/10; count_digit++; } if(count_digit = 3) printf("YES"); else printf("NO"); return 0; }
这段代码的目的是判断输入的整数是否为三位数。代码中有一个变量名不一致的问题,以及一个常见的赋值与比较混淆的错误。

- 在 while 循环中,条件使用了 `n > 0`,但变量名是 `N`(大写),而 `n`(小写)没有被定义。这会导致编译错误或未定义行为。
- 在 if 语句中,`count_digit = 3` 是赋值操作,而不是比较。应该使用 `==` 来比较两个值是否相等。