有以下程序 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%c\

admin2005-08-15  24

问题 有以下程序
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%c\n",c1,c2);
}
程序运行后的输出结果是

选项 A、Ab 
B、aa 
C、Aa 
D、Bb

答案A

解析 本题考查了地址的调用。在子函数fun()中,a,b分别存储的是存放“A”,“a,,两个字符所在存储单元的地址。但在子函数中直接改变了指针变量a所指存储单元(a=b,即b所指单元)中的值,使其变为“b”,故子函数执行结束时,c1的值不变,c2的值改变。
转载请注明原文地址:https://kaotiyun.com/show/RiHp777K
0

相关试题推荐
最新回复(0)