2012
05-17


各位朋友:麻烦解释下面的程序,那  char *p=(char *)(&a+1); 语句是什么意思?谢谢!

 

#include “stdio.h”

main()


{  char a[]={‘m’,'n’,'x’,'y’};


   char *p=(char *)(&a+1);


   printf(“%c,%c”,*(a),*(p-1));


}


指针问题》有 1 条评论

  1. breezeyang 说:

    char *p=(char *)(&a+1);这段代码的意思是&a把a[0]a[1]a[2]a[3]当作一个整体,&a是这个整体的首地址,&a+1以后就跳到a[4]了,此时&a+1表示a[4]的地址,然后很想让输出就是m,y了!

留下一个回复