以下程序的输出结果是【18】 。#define MAX(x,y)(x)>(y)?(x):(y)main(){ int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%d\n",t);}

题目

以下程序的输出结果是【18】 。

#define MAX(x,y)(x)>(y)?(x):(y)

main()

{ int a=5,b=2,c=3,d=3,t;

t=MAX(a+b,c+d)*10;

printf("%d\n",t);

}


相似考题
更多“以下程序的输出结果是【18】。 #defineMAX(x,y)(x)>(y)?(x):(y) main() {inta=5,b=2,c= ”相关问题
  • 第1题:

    有以下程序:includeint fun(int x,int y){if(x==y)return(x);else return((x+y)/2);}m

    有以下程序: #include<stdio.h> int fun(int x,int y) {if(x==y)return(x); else return((x+y)/2); } main() {int a=1,b=2,c=3; printf("%d\n",fun(2*a,fun(b,C))); } 程序运行后的输出结果是( )。

    A.2

    B.3

    C.4

    D.5


    正确答案:A

  • 第2题:

    有以下程序:include define F(X,Y)(X)*(Y)main(){int a=3,b=4;printf("%d\n",F(a++,b

    有以下程序: #include <stdio.h> #define F(X,Y)(X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } 程序运行后的输出结果是( )。

    A.12

    B.15

    C.16

    D.20


    正确答案:A
    解析:在程序中先将表达式中的宏替换掉,则输出语句中的表达式为(a++)*(b++),而a++的值为3,b++的值为4。因此最后的值为3*4=12。所以,4个选项中选项A符合题意。

  • 第3题:

    以下程序的输出结果是 main() { int a[] = {2, 4, 6, 8, 10}, y = 1, x, *p; p = &a[1]; for(x = 0; x < 3; x++) y += *(p + x); printf("%dn", y); }

    A.20

    B.18

    C.17

    D.19


    A当所赋的值不够其列的宽度时,系统在其后自动补0,因此a[0][3]=0,a[1][2]=6,a[2

  • 第4题:

    以下程序的输出结果是#define MAX(x,y) (x)>(y)?(x):(y)main() { int a = 5, b = 2,c = 3, d = 3, t; t = MAX(a + b, c + d)*10; printf("%d\n", t);}


    正确答案:7
    宏替换后,表达式t = MAX(a + b, c + d)*10即变为t = (a+b)>(c+d) ? (a+b) : (c + d)*10;,由于(a+b)>(c+d)为真,所以t = (a+b),即为7。

  • 第5题:

    14、以下程序的输出结果是 main() { int a[] = {2, 4, 6, 8, 10}, y = 1, x, *p; p = &a[1]; for(x = 0; x < 3; x++) y += *(p + x); printf("%d\n", y); }

    A.20

    B.18

    C.17

    D.19


    (14)emoclew