选择题

有以下程序:
#include <stdio.h>
int d=1;
void fun(int p)
{
int d=5;
d+=p++;
printf("%d",d);
}
main( )
{
int a=3;
fun(a);
d+=a++;
printf("%d\n",d);
}
程序的输出结果是

【正确答案】 A
【答案解析】

本题主要考查局部变量和全局变量的区别。题目中函数之外定义的 d 为全局变量, 函数 fun 内定义的 d 为局部变量, 所以执行 fun 函数后, 打印出 8; 执行完语句“d+=a++;”后 d 变为 4, 所以答案为 A。