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

#include <stdio.h> int main() { int a; scanf("%d",&a); if(a>=100,a<=1000) printf("YES"); else printf("NO"); return 0; }
这段代码试图判断输入的整数是否在100到1000之间(包含端点),并输出"YES"或"NO"。但条件判断部分有语法错误。

- 在C语言中,`if`语句的条件里不能使用逗号来连接多个条件。你写的是 `if(a>=100,a<=1000)`,这里的逗号实际上是逗号运算符,它只会取最后一个表达式的值作为条件,所以实际上只检查了 `a<=1000`,而忽略了 `a>=100` 的判断。

- 要同时检查两个条件,应该使用逻辑与运算符 `&&`,写成 `if(a>=100 && a<=1000)`。