#include <stdio.h>
int main()
{
int height = 175;
double money = 1500000;
printf("是否符合条件: %d\n",height>=180 && money>=1000000);
return 0;
}
看起来没有错,应该是编译器的问题,不过money定义成int类型更好,毕竟money是整数而不是小数。
不知道你写这个程序的目的,但是我可以给你解析一下你写的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”