帮忙注释一下这两行代码在说啥 救救孩子[face]emoji:010.png[/face] 题目翻译

帮忙注释一下这两行代码在说啥 救救孩子[face]emoji:010.png[/face] 题目翻译:一步步解释这个程序的output 您需要声明每个操作符的优先级顺序以及如何计算从变量到数字的输出和输出逻辑。

int age = 10;    int height = 45;//赋值语句,这个应该能知道吧。
 printf("%d",(age < 12 && height < 48) || (age > 65 && height > 72));这一句,相当于下面两句:

int d = ((age < 12 && height < 48) || (age > 65 && height > 72)); //(1)

printf("%d",d);//这句话就是把d的值打印出来

(1)中是求两个算式的或运算,其结果要么是true,要么是false,true转成int类型是1,false转成int类型是0;

在这里,age=10,height=45,满足age < 12 && height < 48这个条件,所以它的值就是true,所以d的值就是1,最后打印出来的结果就是1.

如有帮助,请采纳,谢谢。

年龄小于12且体重小于48,或者 年龄大于65且体重大于72 的打印1,其余情况打印0

先判断age<12,为true

再判断height<48,为true

再判断两者的&&,都为true,所以&&的结果为true

再判断||,由于左侧已经为true,因此右侧就不用判断了,||的结果为true

再执行printf,true的整型表示为1,所以打印出字符1