Как определить, находится ли значение в пределах диапазона? - PullRequest
0 голосов
/ 19 января 2019

Я относительно новичок в 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 голосов
/ 19 января 2019

Это потому, что вы объявили 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 вернет нулевое значение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...