C 如何确定某个值是否在某个范围内?

C 如何确定某个值是否在某个范围内?,c,comparison,C,Comparison,我对C语言还比较陌生,不幸的是,我不得不在学校做,而且我在最简单的练习中遇到了问题 在这里,我必须检查一个数字是否在一定的间隔内,例如在4和6之间。我是这样做的 #include <stdio.h> int main(){ int i; printf("Value to check Interval \n"); scanf("%s", i); if (i>4 && i<6){ printf("%s Value is in fi

我对C语言还比较陌生,不幸的是,我不得不在学校做,而且我在最简单的练习中遇到了问题

在这里,我必须检查一个数字是否在一定的间隔内,例如在4和6之间。我是这样做的

#include <stdio.h>

int main(){

  int i;

  printf("Value to check Interval \n");
  scanf("%s", i);
  if (i>4 && i<6){
    printf("%s Value is in first interval\n", i);
  }
}
#包括
int main(){
int i;
printf(“检查间隔的值\n”);
scanf(“%s”,i);

如果(i>4&&i这是因为您将
i变量声明为int
,并且您将输入作为
string
,因此当它检查条件时,它在
i变量中获得
null
值,并且无法在代码下方输入if块检查

    #include <stdio.h>

    int main(){

      int i;
        printf("Value to check Interval \n");
        scanf("%d",&i);

      if (i>4 && i<6){
        printf("%d Value is in first interval\n", i);
      }
    }
#包括
int main(){
int i;
printf(“检查间隔的值\n”);
scanf(“%d”、&i);

如果(i>4&&i
scanf(“%s”,i);
应该是
scanf(“%d”,i)
%s
用于字符串,而
%d
用于
int
s。使用错误的说明符会调用未定义的行为。还要注意,
i>4&&i您希望提高编译器的警告级别,阅读警告,理解警告,然后相应地修复代码,直到不再发出警告。@Osiris更改了而且它仍然不能正常工作“…提高编译器的警告级别…”这样做可以传递GCC的选项
-Wall-Wextra-pedantic
if(i>4&&i