问题
单项选择题
有以下程序:
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’,前面不变。