else为什么加分号

if(score>100)printf("funnytyping\n");elseif(score>=90&&score<=100)printf("goodjob\n")... if (score > 100)
printf("funny typing\n");
else if (score>=90 && score<=100)
printf("good job\n");
else if (score>=80 && score<90)
printf("how does adding more point up to your tiny paper sound?\n");
else if (score>=60 && score<80)
printf("so you can be sureale\n");//else if
else if (score>=0 && score<60)
printf("and die for good!\n");
else (score < 0);
printf("for ever\n");
最后一句else,没有表达式("score < 0, (虽然是废话)");的话,不加分号不会报错,但要是加了表达式的话,不加分号就会报错,

我只知道分号是空语句的意思,刚学C语言,不吝赐教,谢谢.
ps: printf里的英语纯属搞怪,哈哈
展开
 我来答
起生哦0
推荐于2017-10-01 · TA获得超过353个赞
知道小有建树答主
回答量:261
采纳率:83%
帮助的人:86.7万
展开全部
C语言中,每个语句以分号作为结束符,所以当只有分号的时候就是空语句。
如果不加表达式(score < 0); 就结果就是除了以上情况(不是score>=0时)输出for ever语句

加表达式(score < 0)后相当于这样
else
(score<0);
printf("for ever\n");

score 不大于等于0时,执行(score < 0 );语句,整个if else 结束程序继续往下执行,输出
for ever
你不加表达式 输出的语句应该是一句话 加表达式 输出的结果是两句话。
追问
谢谢,不过我可能要收回这个问题,因为我已经测试过了,如果最后的else加了表达式而不加分号就会报错,不加表达式呢,就一切正常.
但 如果我加了表达式后又加了分号,错是没错了,不过在窗口运行的时候,就不正常了,因为我在窗口里输入字符,就会出现两个句子,一个是与字符对应的条件,还有一个就是最后一个else里printf里的句子,(当然,我打负数,就只有一句)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式