鱼C论坛

 找回密码
 立即注册
查看: 618|回复: 8

[已解决]大佬来看题

[复制链接]
发表于 2020-3-12 11:42:13 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
输出结果是什么?
为什么?
最佳答案
2020-3-12 12:43:11
#include <stdio.h>
int main()
{
        int income;
        scanf("%d",&income);//这里输入200
        if(income>=20000)//这里首先判断是否大于20000,大于就打印"Rich"!跳出判断。
        {
                printf("Rich");
        }
        else if(10000<=income<20000)//上面的判断不大于20000,就在这里进行再判断。
                //因为"<=,<,>,>="这个运算符是自左到右的。
                //你这里的写法是10000<=i<20000,这个条件等于10000<=i,他不成立也就是0;
                //再用0<20000;这里就返回了真。
                //这里应该写成(10000<=i&&20000>i)
               
        {
                printf("Middle");
        }
        else
        {
                printf("Pool");
        }
        return 0;
}
%}FM{V553C5(2Y@}02NQD43.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-3-12 11:44:43 | 显示全部楼层
肯定是Pool啊
不符合前两个if的条件就只能输出这个了啊
还有,else if的条件语法不太对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 11:46:20 | 显示全部楼层
而且这是最简单的if判断啊
楼主你连这个都看不明白?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:05:05 | 显示全部楼层
qiuyouzhi 发表于 2020-3-12 11:44
肯定是Pool啊
不符合前两个if的条件就只能输出这个了啊
还有,else if的条件语法不太对

其实是输出Middle,因为楼主他中间那个判断句不对
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:10:44 | 显示全部楼层
本帖最后由 hongwei8858 于 2020-3-12 12:15 编辑

如果按你现有的代码来算的话,输出结果是Middle。

评分

参与人数 1荣誉 +5 鱼币 +5 贡献 +3 收起 理由
deng_o3o + 5 + 5 + 3

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-3-12 12:11:01 | 显示全部楼层
墨羽岚 发表于 2020-3-12 12:05
其实是输出Middle,因为楼主他中间那个判断句不对

确实
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:29:59 | 显示全部楼层
我怎么感觉连编译都过不了啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:43:11 | 显示全部楼层    本楼为最佳答案   
#include <stdio.h>
int main()
{
        int income;
        scanf("%d",&income);//这里输入200
        if(income>=20000)//这里首先判断是否大于20000,大于就打印"Rich"!跳出判断。
        {
                printf("Rich");
        }
        else if(10000<=income<20000)//上面的判断不大于20000,就在这里进行再判断。
                //因为"<=,<,>,>="这个运算符是自左到右的。
                //你这里的写法是10000<=i<20000,这个条件等于10000<=i,他不成立也就是0;
                //再用0<20000;这里就返回了真。
                //这里应该写成(10000<=i&&20000>i)
               
        {
                printf("Middle");
        }
        else
        {
                printf("Pool");
        }
        return 0;
}
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-3-12 12:44:46 | 显示全部楼层
这个问题就是运算符的结合方向造成的问题。之前回答,我脑子也乱了那么一会,理顺了就好了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-15 23:57

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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