单选题
有以下程序:
#include
void fun(char*c,intd)
{ *c=*c+1:
d=d+1:
printf(“%e,%e,”,*c,d);
}
main()
{ char b='a',a='A';
fun(&b,a);
printf(“%c,%c\n”,b,a);
}
程序运行后的输出结果是( )。
【正确答案】
A
【答案解析】解析:本题重点考察函数的调用,首先要了解字母对应的ASCⅡ码。例如A为65,a为97。即字母+1则可得到下一个字母。其次是函数形参和实参的问题,运行过程如下:在fun(&b,a)中,*c='a',d=65。*c+1='b',d+1=66,printf(”%c,%c,”*c,d);输出b,B,因为指针c指向地址的值为b,此时b=*c='b';函数返回执行printf(“%c,%c\n”,b,a);输出b,A,因此A选项正确。