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

admin2009-04-15  44

问题 有以下程序:    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。所以,4个选项中选项A符合题意。
转载请注明原文地址:https://kaotiyun.com/show/2pXp777K
0

最新回复(0)