有以下程序: void fun1(char*p) { char *q; q=p; while(*q!=’\0’) { (*q)++; q++; } } main() { char a[]={"

admin2009-01-15  24

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

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

答案1

解析 在函数fun1()中,首先将形参p的内容存入临时指针q中,然后使用—个while循环,当q所指内容不是字符串结束标志"\0’时,让q所指内容增1,然后将指针q增1指向下一个位置。所以函数fun1()实现的功能是:将传入字符串的所有字符自增1。主函数,指针p在被传入fun1()函数之前,初始化指向的是宁符数组a的第4个元素’g’,所以最终输出的结果应该是Prohsbn。故应该选择A。
转载请注明原文地址:https://kaotiyun.com/show/moXp777K
0

最新回复(0)