有以下程序 #include 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

admin2019-08-18  31

问题 有以下程序
#include
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

解析 本题重点考察函数的调用,首先要了解字母对应的ASCII 码。例如 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选项正确。
转载请注明原文地址:https://jikaoti.com/ti/m9f0FFFM
0

最新回复(0)