单选题 有以下程序:
void fun(char*c, int d)
{ *c=*c+1; d+=1;
printf("% c,% c,", *c, d);
}
main()
{ char a='A', b='a';
fun(&b, a); printf("% c, % c/n", a, b);
}
程序运行后的输出结果是______。
  • A.B,a,B,a
  • B.a,B,a,B
  • C.A,b,A,b
  • D.b,B,A,b
【正确答案】 D
【答案解析】[解析] 本题考查了函数之间地址值的传递,当形参为指针变量时,实参和形参之间的数据传递是地址传递,可以在被调用函数中对调用函数中的变量进行引用,在被调用函数中直接改变调用函数中的变量的值,所以主函数中的b在代到fun()函数后将要发生变换,而a将不发生变换,所以在调用子函数时输出"b,B",返回到主函数中输出的是A和b,所以正确答案是选项D。