为了账号安全,请及时绑定邮箱和手机立即绑定

这里哪不对了?

#include <stdio.h>

int main()

{

    int height = 175;

    double money = 1500000;

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

    return 0;

}



正在回答

2 回答

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

0 回复 有任何疑惑可以回复我~
#1

觅己网 提问者

非常感谢!
2015-12-24 回复 有任何疑惑可以回复我~

不知道你写这个程序的目的,但是我可以给你解析一下你写的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”

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926209    人
  • 解答问题       20797    个

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

进入课程

这里哪不对了?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信