问答详情
源自:-

为什么一直都是第一个的判断表达式

#include<stdio.h>
int main()
{
    float x,y;
    printf("输入x的值:");
    scanf("%f",&x);
    if(20>x>=0)
        printf("\n\ny=%f",y=x+10);
    else if(20<=x<50)
        printf("\n\ny=%f",y=30);
    else if(50<=x<60)
        printf("\n\ny=%f",y=30-3*(x-50));
         printf("\n\n是否继续?\t是:选<y>;\t否:选<n>!\n\n请选择:\n");

}

提问者:慕妹8495564 2018-11-13 14:39

个回答

  • 慕挽幻清
    2018-11-14 20:12:05
    已采纳

    运行如下:
    (20>x)判断,如果正确那么结果为1,错误为0。
    1或0永远大于等于0,所以只能执行第一个if中的语句。
    建议改成 ( x>=0&&20>x)
    后面的也是这格式。