黑马程序员技术交流社区
标题:
学习成绩问题!!!
[打印本页]
作者:
aofex
时间:
2015-6-24 22:08
标题:
学习成绩问题!!!
#include <stdio.h>
int main ()
{
int score;
printf("请输入分数 \n");
scanf("%d",&score);
if(score >=90 );
{
printf("您的成绩是'A'");
}
22 else if (score>=60)
{
printf("您的成绩是'B'");
}
else
{
printf("您的成绩是'C'");
}
return 0;
}
问题:怎么22行老是报错啊??新手 勿笑啊!!!
作者:
18678927239
时间:
2015-6-24 22:22
大于等于60也包含了大于90的情况
作者:
aSmallStone
时间:
2015-6-24 22:58
你的第一个if后面的分号去掉 亲测。。。。。 无语
作者:
弹剑
时间:
2015-6-24 23:19
你确定是22行而不是第一个IF末尾的分号么。。。
作者:
cxl19900517
时间:
2015-6-24 23:21
好像是考试题吧。。。
作者:
zhangshuai
时间:
2015-6-27 11:30
第一 if 后面";" 去掉 ,还有>90也大于 60
作者:
Residual_mem
时间:
2015-6-27 11:36
对。把分号去掉。加上分号相当于是后面添加了一个空语句。即使条件成立也不会继续。
作者:
mazhichao
时间:
2015-6-27 12:31
if(score >=90 );分号错了
作者:
精灵来了
时间:
2015-6-27 12:39
分号,不解释了
作者:
aofex
时间:
2015-6-28 20:44
aSmallStone 发表于 2015-6-24 22:58
你的第一个if后面的分号去掉 亲测。。。。。 无语
我擦 已经是第N回这种错误了
作者:
αメ炫
时间:
2015-6-28 21:00
的确是22行报错
if(score >=90 ); //这是一个空语句,一个分号也是一条语句这是正确的不会报错
//下面这是个代码块 也能正常执行
{
printf("您的成绩是'A'");
}
//这里有个悬空else,找不到自己所属if报错,要不报错 可以1.把上面代码块删掉 你会发现不报错了 2.或者把这个else去掉
else if (score>=60)
{
}
以上我从程序的角度解释了为什么是22行报错
作者:
heyuze
时间:
2015-6-28 21:17
楼上说得很好~
作者:
lixianzhu0712
时间:
2015-6-29 11:30
if(score >=90 );分号错了
作者:
盖世英雄199001
时间:
2015-6-29 16:01
if(score >=90 );分号
作者:
why19910522
时间:
2015-6-29 17:54
将“if(score >=90 );”最后的分号去掉,如果加上的话,就是if语句已经结束,后面的else if无法读取前面的if语句,无法构成if...else if语句,
作者:
chensc
时间:
2015-6-29 19:04
学习学习!
作者:
深蓝的蓝
时间:
2015-6-30 23:04
哈哈 认真学习的同学果然多
作者:
zilin
时间:
2015-6-30 23:14
你多打了一个分号,if后面加了分号就是语句结束不再执行了。
作者:
赵云18235802528
时间:
2015-7-1 07:16
学习学习了
作者:
弥修斯
时间:
2015-7-1 11:53
11楼好详细
作者:
chensc
时间:
2015-7-1 18:54
学习学习!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2