鱼C论坛

 找回密码
 立即注册
查看: 4189|回复: 6

IF 语句问题

[复制链接]
发表于 2012-12-29 05:12:23 | 显示全部楼层 |阅读模式
5鱼币
QQ截图20121229050933.png ,大家帮我看看,怎么会有2个答案啊?搞不懂。。。
另外弱弱的问一下,C语言中不是有<=,  >= 等等之类的 吗?  为什么不能直接写呢、。 非要用逻辑运算符、?(看的甲鱼老师的视频里的这个),
在线等, :time::sleepy:

最佳答案

查看完整内容

至于程序中的错误上面已经说过了,去掉最后一个else后面的分号。至于score>60||score==60是没有必要的,可以写成score>=60&&score
小甲鱼最新课程 -> https://ilovefishc.com
发表于 2012-12-29 05:12:24 | 显示全部楼层
至于程序中的错误上面已经说过了,去掉最后一个else后面的分号。至于score>60||score==60是没有必要的,可以写成score>=60&&score<70,不能直接写成60<=score<70,因为根据关系运算符从左至右的结合性,先计算60<=score 得出0或1的结果,0或1都小于70.所以这个表达式的值恒为真
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 08:49:17 | 显示全部楼层
最后一个 else 的后面应该再加一个if,而且你居然在 最后一个 else 语句后面加了一个  分号,把这个分号去掉

else if(score>90 || score==90)
{
    printf("This is A\n");
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 09:23:39 | 显示全部楼层
最后一个应该是else if ,否则你输入小于90的数字时,就会再判断一次else会再输出一个A
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 09:39:07 | 显示全部楼层
去掉最后一个else后边的“;”就可以了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-29 20:52:34 | 显示全部楼层
最後的else忘了加if
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2012-12-30 09:28:13 | 显示全部楼层
二楼说得很清楚了,else 后面不能加表达式,
else if(score>90 || score==90);//表示否则执行空语句,
{
printf("this is a"); //这是另外一个语句 , 当然会输出两个 printf
}
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-8-10 16:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表