#include<stdio.h>
int main()
{float x,y;
scanf("%f",&x);
if(x>=0)
if(0<=x<10) printf("y=%f",x-10);
else printf("y=%f",x+10);
else
printf("y=%f",x);
return 0;}
if(0<=x<10)是错误写法----这个代码能通过编译,但执行过程是先判断0<=x是否成立,然后再判断这个表达式的结果是否<10。显然逻辑表达式的结果只有0和1两种结果,自然会小于10,所以if(0<=x<10)肯定成立
应该改为if(x>=0 && x<10)
你的代码前面已经有if(x>=0),所以这里只需要改成 if(x<10)就可以啦
#include<stdio.h>
int main()
{
float x,y;
scanf("%f",&x);
if(x>=0)
if(x<10)
printf("y=%f",x-10);
else
printf("y=%f",x+10);
else
printf("y=%f",x);
return 0;
}
判断不能连续这么写
if(0<=x<10)
#include<stdio.h>
int main()
{float x,y;
scanf("%f",&x);
if(x>=0)
if(x<10&&x>=0) printf("y=%f",x-10);
else printf("y=%f",x+10);
else
printf("y=%f",x);
return 0;}
if(x>=0&&x<10)