有以下程序 void fun(char *a,char *b) { a=b; ( *a)++; } main() {char cl=’A’,c2=’a’,*p1,*p2; p1=&c1;p2:&c2;

admin2009-04-15  19

问题 有以下程序    void fun(char  *a,char  *b)    {  a=b;    (  *a)++;    }    main()    {char cl=’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

答案1

解析 指针作为函数参数的运用,经过分析得知fun()函数的功能:将形参 a指向形参b所指的存储空间,然后使形参a指向变量的值加1。在主函数中定义了字符型指针变量p1和p2,并让它们分别指向“c1和c2。然后将p1、p2作为实参传递给形参a、 b。在fun()函数中,首先让指针变量p1指向P2,然后P1指向的存储空间的值加1,即让变量c2加1为“b”,而c1的值没有被改变,仍然是“A”。
转载请注明原文地址:https://kaotiyun.com/show/Q7Xp777K
0

最新回复(0)