在线编译器 C

#include <stdio.h> int main() { int a; if (scanf("%d", &a )== 1) { if (int a>=100&&a<=999) { printf("YES\n"); }else printf("NO\n"); } return 0; }
这段代码试图判断输入的整数是否是三位数(100到999之间)。但代码中存在语法错误。

- 在第7行,`if (int a>=100&&a<=999)` 中,`int a` 的写法是错误的。在C语言中,不能在条件表达式里重新声明变量,这里应该直接使用变量 `a`。
- 另外,`scanf` 的返回值检查是正确的,但注意 `scanf` 读取成功时返回1,这里逻辑没问题。