deng_o3o 发表于 2020-3-12 11:42:13

大佬来看题

输出结果是什么?
为什么?

qiuyouzhi 发表于 2020-3-12 11:44:43

肯定是Pool啊
不符合前两个if的条件就只能输出这个了啊
还有,else if的条件语法不太对

qiuyouzhi 发表于 2020-3-12 11:46:20

而且这是最简单的if判断啊
楼主你连这个都看不明白?

墨羽岚 发表于 2020-3-12 12:05:05

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

其实是输出Middle,因为楼主他中间那个判断句不对

hongwei8858 发表于 2020-3-12 12:10:44

本帖最后由 hongwei8858 于 2020-3-12 12:15 编辑

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

qiuyouzhi 发表于 2020-3-12 12:11:01

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

确实

Aboli 发表于 2020-3-12 12:29:59

我怎么感觉连编译都过不了啊{:9_241:}

hongwei8858 发表于 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;
}

hongwei8858 发表于 2020-3-12 12:44:46

这个问题就是运算符的结合方向造成的问题。之前回答,我脑子也乱了那么一会,理顺了就好了。
页: [1]
查看完整版本: 大佬来看题