以下程序的输出结果是( )。 void funl(char*p) main() {char*q; {char a[]={’’Program’’},*p; q=p; p=&a[3];funl(p);printf(’’%s\n’’,a);

admin2017-10-24  26

问题 以下程序的输出结果是(  )。
void funl(char*p)    main()
{char*q;    {char a[]={’’Program’’},*p;
q=p;    p=&a[3];funl(p);printf(’’%s\n’’,a);
while(*q!=\0’)
{(*q)++;q++;}}

选项 A、Program
B、Prohsbn
C、Progsbn
D、Prphsbn

答案B

解析 题目中语句(*q)++的功能是q所指的字符加1,变成其后面的字符;q++就是指针q指向下一个字符的位置。所以在主函数中,语句p=&a[3]的作用是使指针p指向字符数组a[]中的第四个字符的位置,即p指向字符’g’;然后调用函数funl(p)后,字符’g’变成’h’,字符r变成s,字符,’a’变成’b’,字符’m’变成’n’,因而字符数组a[]中的内容就成“Prohsbn”。
转载请注明原文地址:https://kaotiyun.com/show/jIxp777K
0

最新回复(0)