问题
单项选择题
以下程序运行后的输出结果是 #include<stdio.h> void fun(char *c, int d) { *c=*c+1;d=d+1;printf("%C, %c,", *c, d); } main() { char b='a', a='A';fun(&b, a); printf("%c, %c\n", b, a); }
A.b,B,b,A
B.b,B,B,A
C.a,B,B,a
D.a,B,a,B
答案
参考答案:A
解析: 调用fun函数时,&h作为实参地址传给形参指针变量c,*c的值为字符a;变量a作为实参变量值传给变量d,d的值为字符A;在fun函数中,执行语句:*c=*c+1; d=d+1;后,输出*c和d的值分别为字符b和B。返回到main函数后,变量b的值改变为字符b,而变量a的值没有改变,输出的仍然是字符A。