这里哪不对了?

来源:3-7 逻辑运算符

觅己网

2015-12-23 22:36

#include <stdio.h>

int main()

{

    int height = 175;

    double money = 1500000;

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

    return 0;

}



写回答 关注

2回答

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

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

    觅己网

    非常感谢!

    2015-12-24 20:19:29

    共 1 条回复 >

  • 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”

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题