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

admin2013-02-23  26

问题 有以下程序:
    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’,前面不变。
转载请注明原文地址:https://kaotiyun.com/show/EiPp777K
0

最新回复(0)