更多“有以下程序main(){ char a='a',b; print("%c,",++a); printf("%c\n",b=a++);}程序运行后的输出结 ”相关问题
  • 第1题:

    有以下程序:includedefine F(x,y) (x)*(y)main(){int a=3,b=4; printf("%d\n",F(a++,

    有以下程序: #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
    解析:本题考查带参数的宏定义。对F(a++,b++)展开后,宏的返回值为3×4=12,这里a++,b++都是先使用变量值,再自增。

  • 第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() { char a='a',b; printf("%c,",++A) ; printf("%c\n"。b=a++); } 程序运行后的输出结果是

    A.b,b

    B.b,c

    C.a,b

    D.a,c


    正确答案:A
    解析:程序中的第一个输出语句输出表达式++a的值,该++a是在使用a之前,先使a的值加1,即为a加1为字符b,此时a的值为b,所以第一个输出语句输出的值为b,第二个输出语句中输出的b的值,这时b的值为表达式a++的值,a++是在使用a之后(此时a的值为b,所以赋给b的值为B),使a的值加一因此第二个输出的值也为b.所以,4个选项中选项A符合题意。

  • 第4题:

    有以下程序: main { char a=a,b; printf("%c,",++a); printf("%c\n",b=a++): ) 程序运行后的输出结果是( )。

    A.b,b

    B.b,c

    C.a,b

    D.a,c


    正确答案:A
    ++a与a++的区别是前者先自加再运算,后者是先运算后自加。

  • 第5题:

    有以下程序:

    main

    { char a='a',b;

    printf("%c,",++a);

    printf("%c\n",b=a++):

    )

    程序运行后的输出结果是( )。

    A.b,b

    B.b,c

    C.a,b

    D.a,c


    正确答案:A
    ++a与a++的区别是前者先自加再运算,后者是先运算后自加。