A-A+

有以下程序void fun(char *a char *b){ a=b; (*a)++;

2022-08-05 21:46:28 问答库 阅读 172 次

问题详情

有以下程序
void fun(char *a, char *b)
{ a=b; (*a)++; }
main()
{ char c1="A",c2="a",*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%cn",c1,c2);
}
程序运行后的输出结果是
A.Ab
B.aa
C.Aa
D.Bb

参考答案

正确答案:A
解析:本题考查了地址的调用。在子函数fun()中,a,b分别存储的是存放“A”,“a,,两个字符所在存储单元的地址。但在子函数中直接改变了指针变量a所指存储单元(a=b,即b所指单元)中的值,使其变为“b”,故子函数执行结束时,c1的值不变,c2的值改变。

考点:程序