一。a的完整值表a[0][0]=1a[0][1]=2a[0][2]=3a[1][0]=4a[1][1]=5a[1][2]=6a[2][0]=7a[2][1]=8a[2][2]=9而*(*a+1)=(*a)[1]=a[0][1]=2二。p=&a+5*sizeof(a[0])=0x2000+(0x2004-0x2000)*5=0x2014三。你的答案是错的,执行完strcpy(a,b);后a[0]-Aa[1]-Ba[2]-Ca[3]-0x00a[4]-5a[5]-6a[6]-0x00a[6]从来就是0x00,不可能是6的,a[5]才是6四。char a[5]={65,66,67},因为ASCII的关系,它等价于char a[5]={'A','B','C'}p+1指向的是&a[1],所以%s输出p+1为BC五。你的答案又错了a的完整值表(后面的xx是随机数了)a[0][0]=1a[0][1]=3a[0][2]=5a[1][0]=7a[1][1]=9a[1][2]=11a[2][0]=xxa[2][1]=xxa[2][2]=xx而*(a[1]+1)=a[1][1]=9所以答案是9不是5你可以在编译器中验证下这些都是指针的基础(对初学者,C语言指针是难点)