刚学c语言,遇到个小问题请求高手指点

[复制链接]
查看11 | 回复1 | 2011-5-10 06:20:52 | 显示全部楼层 |阅读模式
为什么我执行以下程序时输入大于100或小于0的数,结果显示出来是不及格的,为什么就不显示“成绩输入有误”呢?

#includestdio.h

intmain(void)

{
floatscore;

printf(\"学生的成绩\\n\");

scanf(\"%f\",

if(90=score=100)
        printf(\"优秀\\n\");

elseif(80=score90)

        printf(\"良好\\n\");

elseif(60=score80)

        printf(\"及格\\n\");

elseif(\"0=score60\")

                printf(\"不及格\\n\");

else

        printf(\"成绩输入有误\\n\");


return0;

}
回复

使用道具 举报

千问 | 2011-5-10 06:20:52 | 显示全部楼层
elseif(\"0=score60\")把括号内的双引号去掉,因为如果你加了双引号,\"0=score60\"就变成一个字符串,其值为非空,作为if的判断条件,永远是为1,所以只要不是60分到100之间的分数,都会输出不及格。
望采纳
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行