问题 单项选择题

下面的程序输出结果是______。 #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.运行时错误

答案

参考答案:B

解析:[评析] “#define r 16”的作用是指定用标识符r来代替16,因此程序编译时只编译#if部分,故程序运行时,打印输出十六进制的32,即20。

填空题
判断题