1. 表达式 (5-1&&3+5/2) 的值是( )
2. 表达式 5-((5/3)*3) 的值是( )
3. 表达式 (3&4/2) 的值是( )
4.下列程序段的结果是
#define m(x,y)(x/y)
printf("%d",m(3+4,6))
參考答案:1. 表达式 (5-1&&3+5/2) 的值是( 1 ) ------ 这是一个布尔表达式,相当于:(5 - 1) && (3 + 5 / 2) ---->>>> 4 && 5 ---->>> 真(1)
2. 表达式 5-((5/3)*3) 的值是( 2 ) ----- 关键是:5/3 = 1
3. 表达式 (3&4/2) 的值是( 2 ) ----- 相当于:3 & (4 / 2) = 3 & 2 = 2(二进制:011 & 010 = 010)
4.下列程序段的结果是
#define m(x,y)(x/y)
printf("%d",m(3+4,6))
结果:3
----- 编译时,m(3+4,6) 相当于:(3+4/6) 所以结果是:3 + 0 = 3
以上结果都在计算机上验证过了