外贸公司费用:C语言类型题
来源:百度文库 编辑:神马品牌网 时间:2024/05/04 21:59:31
请选出以下程序段的输出结果
#include<stdio.h>
#define MIN(x,y) (x)<(y)? (x):(y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A) 15 B) 100 C) 10 D) 150
#include<stdio.h>
#define MIN(x,y) (x)<(y)? (x):(y)
main()
{ int i,j,k;
i=10; j=15;
k=10*MIN(i,j);
printf("%d\n",k);
}
A) 15 B) 100 C) 10 D) 150
A
k = 10*MIN(i,j);
等价于
k = 10*(i)<(j)?(i):(j);
因为乘法优先级比<和?:都高,所以实际意思是
k = (10*i)<j ? i : j;实际比较的是10*i和j进行比较10*i>15是假所以k=j。
故k=15
MIN(i,j)=10;
k=100
A
A
B