大家帮我看看这个错在哪了,为什么前两段函数式对的,一旦大于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)追问
而且(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语言自学网 欢迎你追问
就可以了
c语言自学网 欢迎你追问
把 else if(x>10 && x<=20) 后面的 分号去掉。
你的书写不是很规范 你多看看别人 怎么写的
给你个比较好的教程吧