main() {int a[5]={1,2,3,4,5},b[4]={6,7,8,9},*p=a,*q=b//p指向a的首地址,即1,q指向b,即6 p+=2;q+=3;//p地址后移2位,指向3,q同理指向9 *p=*(q)+3;//赋值语句,将q指向的内容加3赋给p,则p指向的值3变成12,q依旧为9 q--;//q地址前移1位,即8 *(q-1)=*(p+1)-5;//将p指向位置的下一位的内容即4减去5得-1,赋给q的前一位,则q的前一位变成-1,但q的指向位置没有改变printf("%d\n",*p);//输出p的内容,即为12printf("%d|n",*q);//输出q的内容,即为8} 这里涉及到很多小知识点,如果不理解,欢迎追问,若满意,请采纳,谢谢
温馨提示:内容为网友见解,仅供参考