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

时间:2019-01-19 16:58:06

标签: 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 first interval\n", i);
  }
}

scanf输入数字并检查它是否在间隔中。但是,即使我输入了一部分数字,例如5,printf也不起作用。我还尝试为间隔之外的数字添加else语句,但是在那里printf并没有改变。

1 个答案:

答案 0 :(得分:1)

这是因为您已声明i variable as int,并且您将输入作为string,所以在检查条件时,它正在null中获得i variable的值,而无法输入是否在代码下方进行阻止检查

    #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);
      }
    }

尝试编译您的代码,如果条件i变量不会返回空值