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

admin2010-09-05  29

问题 有以下程序:    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的形参是指针变量,因此实参与形参之间是地址传递,即形参的改变可以影响实参。main函数中p1指向c1,p2指向c2,函数调用语句fun(p1,p2)的功能是将p2所指存储单元的内容的值加1,即将c2的值加1得c2 =’b’,故printf函数的输出结果为Ab。
转载请注明原文地址:https://kaotiyun.com/show/9fWp777K
0

最新回复(0)