我对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
并没有改变。
答案 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变量不会返回空值