以下程序的结果是  #include<iostream.h>  void main( )  { char * p="abcdefgh",* r;   long * q;   q=(long * )p;   q++;   r=(char * )q;   co

admin2013-02-27  31

问题 以下程序的结果是  #include<iostream.h>  void main( )  { char * p="abcdefgh",* r;   long * q;   q=(long * )p;   q++;   r=(char * )q;   cout < < r < < end1;}

选项 A、defg
B、cdef
C、ghab
D、efgh

答案8

解析 C++语言规定,如果指针变量q已指向数组中的一个元素,则(q++指向同一数组中的下一个元素(而不是将q的值简单的加1)。本题中q是long型指针,每个long型数据占内存字节数为4,所以q++则由当前位置向右移动4个字节,所以最后显示出的是efgh。注意:请注意 * (P++)与( * p)++的区别。
转载请注明原文地址:https://kaotiyun.com/show/RbNp777K
0

最新回复(0)