C语言if……else if多分支问题

大家帮我看看这个错在哪了,为什么前两段函数式对的,一旦大于10就不对了呢。12应该输出-12才对啊,为什么还是用的y=3*x*x啊

条件语句中出错了,你写的是else if(0<x<=10),其实只用写 else if (x <= 10)
而且(0<x<=10)表示 0<x的结果,即逻辑判断结果 如果 x > 0 则为真,结果为1,否则为0,再与10比较, 不管是1,还是0,<=10始终为真。所以,只要不执行第一个if语句的内容,就都执行y = 3*x*x;
如果你真的需要表示(0<x<=10),即x大于0小于等于10的话,也是 (0<x && x<=10)追问

这怎么回事

追答

你else if(x>10 && x <=20) 后面多了个分号

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-03-26
0<x<=10 改成 (0>x && x<=10)
就可以了

c语言自学网 欢迎你追问

追答

把 else if(x>10 && x<=20) 后面的 分号去掉。


你的书写不是很规范 你多看看别人  怎么写的


给你个比较好的教程吧

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网