A-A+

有以下程序: void funl(char*p) { char*q; q=P; while(

2022-08-06 03:22:14 问答库 阅读 175 次

问题详情

有以下程序: void funl(char*p) { char*q; q=P; while(*q!=\O) {(*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
本题中使用了函数的调用,由{unl函数中的while循环可知,循环的作用是为了把q所指向的内容增加l,而从主函数传到函数时是从下标为3开始传,因此当调用函数执行完后,传过去的字符串为hsbn,前面不变。

考点:程序