问题 单项选择题

以下程序的输出结是_______。
#include <stdio.h>
main()
int a=200;
#define a 100
printf("%d",a);
#undefa
printf(%d",a);

A) 200 100
B) 100 100
C) 100 200
D) 200 200

答案

参考答案:C

解析: #define宏名的有效范围为定义命令之后到本源文件结束,可以在程序中使用#undef命令终止宏定义的作用域。本题由于#undef的作用,使a的作用范围在#define a 100到#undefa之间,故答案为C。

填空题
名词解释