问答详情
源自:3-7 逻辑运算符

这里哪不对了?

#include <stdio.h>

int main()

{

    int height = 175;

    double money = 1500000;

    printf("是否符合条件: %d\n",height>=180 && money>=1000000);

    return 0;

}



提问者:觅己网 2015-12-23 22:36

个回答

  • 慕课_910
    2015-12-24 08:52:03
    已采纳

    看起来没有错,应该是编译器的问题,不过money定义成int类型更好,毕竟money是整数而不是小数。

  • qq_追梦_26
    2015-12-24 10:59:23

    不知道你写这个程序的目的,但是我可以给你解析一下你写的printf的意思:

    双引号里面的字符串会给你原封不动的输出,遇见%d编译器就会找‘,’后面的表达式height>=180 && money>=1000000,令 T = A && B与你的表达式对应

    由于 A = height >= 180 而且height = 174 所以 A 为 假 即 A = (bool)0

    由于B = money >= 1000000 而且money = 1500000 所以B 真 即 B (bool)1

    T = A&&B = 0&&1 = 0

    所以此程序最终会输出“是否符合条件: 0”