A-A+
有以下程序: void fun1(char*p) { char *q; q=p; while
问题详情
有以下程序: void fun1(char*p) { char *q; q=p; while(*q!="") { (*q)++; q++; } } main() { char a[]={"Program"),*p; p=&a[3]; fun1(p) printf("%sn",A) ; } 程序执行后的输出结果是()。
A.Prohsbn
B.Prphsbn
C.Progsbn
D.Program请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:A
解析:在函数fun1()中,首先将形参p的内容存入临时指针q中,然后使用—个while循环,当q所指内容不是字符串结束标志"\0'时,让q所指内容增1,然后将指针q增1指向下一个位置。所以函数fun1()实现的功能是:将传入字符串的所有字符自增1。主函数,指针p在被传入fun1()函数之前,初始化指向的是宁符数组a的第4个元素'g',所以最终输出的结果应该是Prohsbn。故应该选择A。