哪位能解答一下为什么答案是B?
#defineMIN(x,y)(x)<(y)?(x):(y)main(){inti=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);}A...
#define MIN(x,y)(x)<(y)?(x):(y)
main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A)10
B)15
C)100
D)150
我和运算也是C,不过答案不是,所以我才上来问的。
main()
{
int a=2;a%=4-1;
printf("%d",a);a+=a*=a-=a*=3;
printf("\n%d",a);
}
A)2,12 B)-1,12
C)1,0 D)2,0
答案为什么是D?
我的分不多,所以希望哪位好心人能帮忙了,谢谢了。 展开
main()
{ int i=10,j=15,k;
k=10*MIN(i,j);
printf("%d\n",k);
}
A)10
B)15
C)100
D)150
我和运算也是C,不过答案不是,所以我才上来问的。
main()
{
int a=2;a%=4-1;
printf("%d",a);a+=a*=a-=a*=3;
printf("\n%d",a);
}
A)2,12 B)-1,12
C)1,0 D)2,0
答案为什么是D?
我的分不多,所以希望哪位好心人能帮忙了,谢谢了。 展开
3个回答
展开全部
#define MIN(x,y)(x)<(y)?(x):(y)
这个宏用的是三目运算符 条件?真:假 。
k=10*MIN(i,j);
可以理解成:
if(i<j) k=10*i; else k=10*j;
答案应该是C;
这个宏用的是三目运算符 条件?真:假 。
k=10*MIN(i,j);
可以理解成:
if(i<j) k=10*i; else k=10*j;
答案应该是C;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一个明显是C,不多说了,LZ相信自己吧。
第二题:
a%=4-1即为 a=a%3,易得a=2;
a+=a*=a-=a*=3即可分解为下列几式:
因为"=","*="等符号的结合律顺序为从右到左,因此有
a=a*3=2*3=6;
a=a-a=0;
a=a+a=0;
所以最终a=0;
其实在这个式子中a取任何值结果都为0。
所以选D
第二题:
a%=4-1即为 a=a%3,易得a=2;
a+=a*=a-=a*=3即可分解为下列几式:
因为"=","*="等符号的结合律顺序为从右到左,因此有
a=a*3=2*3=6;
a=a-a=0;
a=a+a=0;
所以最终a=0;
其实在这个式子中a取任何值结果都为0。
所以选D
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询