下面的程序输出结果是 ______。 #define r 16 #if r==16 void p(int a) { printf("%x",a) ; } #else void p(int a) {

admin2010-01-10  19

问题 下面的程序输出结果是 ______。    #define r 16    #if r==16    void p(int a)    {    printf("%x",a) ;    }    #else    void p(int a)    {    printf("%d",a) ;    }    #endif    main()    {    p(32);    }

选项 A、32
B、20
C、编译时错误
D、运行时错误

答案2

解析 “#define r 16”的作用是指定用标识符r来代替16,因此程序编译时只编译#if部分,故程序运行时,打印输出十六进制的32,即20。
转载请注明原文地址:https://kaotiyun.com/show/1mWp777K
0

最新回复(0)