c语言多个if else不执行

如题所述

第1个回答  2012-11-13
能执行就怪了
你的判断条件写的有问题
if((80 <= c < 90)) c语言中的“与”的关系不能像数学中的
得改为
if((c >= 80)&&( c < 90))这才是c语言中“与”的关系

同理 下面的也要改下
第2个回答  2012-11-13
是你那个(80<= c <90) (70<= c < 80) (60 <= c< 70)的问题 例如你输入c=71,对于(80<= c <90) 首先比较80<=c 返回的是bool值为false 在跟90比较时,bool值false转成0;然后0<90 返回true,结果c=71就满足(80<= c <90) 。所以不能这么写,应该是(c >= 80 && c < 90)后面的依次类改,就可以了。
以后if else后面最好加成对的大括号,看起来方便,而且不易出错
第3个回答  2012-11-13
你的if里面的关系运算有问题,
假如你输入的c为90以上的话,这个程序就会运行,
举个例子
第二个if语句(80<=c<90)
你可以换成如下语句(80<=c&&c<90)
其他依次类推
具体原理
你可以参考下面的百度知道
http://zhidao.baidu.com/question/131897592.html
第4个回答  2012-11-13
你的第二个if语句是错误的,也就是if((80<=c<90)) 如果按你写的意思算的话,那么先计算80<=c的结果要么是1,要么是0,然后1和0都是小于90的,所以后面的都不会执行了,,懂不??、
第5个回答  2012-11-13
80<=c<90这样写可以吗?应该是if( 80 <= c && c < 90)吧,其他一样改下,你再试试看
相似回答