问题 单项选择题

有以下程序:
void funl(char*p)
char*q;
q=p;
while(*q!=’\0’)
(*q)++;q++;

main()
char a[]="Program"),*p;
p=&a[3];funl(p);
printf("%s\n" ,a);

程序执行后的输出结果是( )。

A.Prohsbn

B.Prphsbn

C.Progsbn

D.Program

答案

参考答案:A

解析: 本题中使用了函数的调用,由funl函数中的while循环可知,循环的作用是为了把q所指向的内容增加1,而从主函数传到函数时是把下标为3开始传,因此当调用函数执行完后,传过去的字符串为’hsbn’,前面不变。

判断题
选择题