
一个C语言的if语句问题
要实现的是一个数学的条件函数功能。y=x,x<1;y=2x-1,1<=x<10;y=3x-11,x>=10;程序如下,但是很奇怪,为啥输入x>10的数,却执行的是x<10...
要实现的是一个数学的条件函数功能。
y=x,x<1;y=2x-1,1<=x<10;y=3x-11,x>=10;
程序如下,但是很奇怪,为啥输入x>10的数,却执行的是x<10的语句呢??不知道错在哪里啊..求大神给看看
#include<stdio.h>
void main()
{
int x,y;
printf("输入x\n");
scanf("%d",&x);
if(x<1)
{
y=x;
printf("y=%d\n",y);
}
else if(1<=x<10)
{
y=2*x-1;
printf("y=%d\n",y);
}
else
{
y=3*x-11;
printf("y=%d\n",y);
}
} 展开
y=x,x<1;y=2x-1,1<=x<10;y=3x-11,x>=10;
程序如下,但是很奇怪,为啥输入x>10的数,却执行的是x<10的语句呢??不知道错在哪里啊..求大神给看看
#include<stdio.h>
void main()
{
int x,y;
printf("输入x\n");
scanf("%d",&x);
if(x<1)
{
y=x;
printf("y=%d\n",y);
}
else if(1<=x<10)
{
y=2*x-1;
printf("y=%d\n",y);
}
else
{
y=3*x-11;
printf("y=%d\n",y);
}
} 展开
3个回答
2014-08-29
展开全部
你的条件错误了;没有这种用法:1<=x<10;这类用法编译器这把它读成1<=x,然后判断其结果是0或者1,在和做<10的真值判断;应该改成1<=x&& x<10才对。你需要多看书啊,这类用法按道理不应该出现的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询