C语言为什么执行else if而不执行else

C语言为什么执行else if而不执行else后面的内容,输入x为15,系统带入第二个式子2x-1

img

img

if(1<=x<10) 不对
因为c语言语法不支持这样连续比较
比如 x是15
1<=x<10 会先比较 1<=x 结果为1(也就是判断为真),再比较 1<10 ,是用前面的结果与后面的10比较,不是用x与后面的10比较

正确的写法应该是if(1<=x && x<10)

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

 #include<stdio.h>
 INT MAIN()
 
    
  .......
      else if(x>=1 && x <10)
           y=2*x-1;
      else
           y=3*x-11;
      PRIT=):
      return ;

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632