永发信息网

c语言看不懂代码,求一步步解释,谢谢

答案:1  悬赏:20  手机版
解决时间 2021-03-25 23:02
  • 提问者网友:爱唱彩虹
  • 2021-03-25 13:15
c语言看不懂代码,求一步步解释,谢谢
最佳答案
  • 五星知识达人网友:duile
  • 2021-03-25 14:48
答案正确啊。*(a+1)就是a[1],*(ptr-1)就是ptr[-1](用负数表示下标是非法的,这里只表示从ptr所指的地方向左移一个元素的位置)。那么——
void main( void ) 

    int a[5]={1,2,3,4,5};//使a[0]==1,a[1]==2 ,a[2]==3 ,a[3]==4 ,a[4]==5 
    int *ptr=(int *)(&a+1);//声明指针ptr并用(int *)(&a+1)初始化到指向数组a的元素5的后面一个元素,由于&a是(*)[5]型,所以要用(int *)强制为int *以便与prt类型匹配
    printf("%d,%d",a[1],*(ptr-1)); //
    return; 
}
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯