Онлайн компилятор C

#include <stdio.h> int main() { int count_digit=0,N; printf("%d",&N) while(n > 0) { N=N/10; count_digit++; } if(count_digit = 3) scanf("YES"); else scanf("NO"); return 0; }
这段代码的目的是判断一个整数是否是三位数,但存在多个错误。

- 第5行:`printf("%d",&N)` 错误。`printf` 用于输出,这里应该用 `scanf` 读取输入,并且 `&N` 是地址,不能直接输出。另外,这一行末尾缺少分号。
- 第6行:变量 `n` 未定义,应该是 `N`。
- 第11行:`if(count_digit = 3)` 使用了赋值运算符 `=`,而不是比较运算符 `==`,这会导致条件永远为真。
- 第12-13行:`scanf` 用于读取输入,不能用来输出文字。应该用 `printf` 输出结果。

提示:
- 检查输入和输出函数的使用是否正确,`scanf` 用于读取,`printf` 用于输出。
- 注意赋值运算符 `=` 和比较运算符 `==` 的区别,在条件判断中要使用 `==`。