永发信息网

25.以下程序的运行结果是

答案:1  悬赏:80  手机版
解决时间 2021-08-15 16:31
  • 提问者网友:十年饮冰
  • 2021-08-14 18:06

25.以下程序的运行结果是
#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

答案是B~~可是是为什么呢???

最佳答案
  • 五星知识达人网友:怀裏藏嬌
  • 2021-08-14 19:32
宏在预处理的时候会被展开。那么你的代码:k=10*MIN(i,j);会被展开成下面的形式:k=10*(x)<(y)?(x):(y);再代入x,y的值即是:k=10*(10)<(15)?(10):(15);也即是k=10*10<15?10:15;,也即是k=100<15?10:15;答案当然是B
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯