请问第九题的解题步骤

img


请问第9题的1,1,3怎么来的。

初始数组为:
1 2 3
4 5 0
p一开始指向1
++p使得p指向2
然后--
使得2变成1
所以是
1 1 3

下面是我的理解,不一定正确,供你参考:
//前缀++和解引用是同一个优先级,所以根据其结合性,从右往左开始运算
//首先开始执行++p,p被赋值为二维数组的开头第一个int整数的地址,++p就让p指向第二int整数2
//然后执行解引用开始对其指向的变量进行数据操作 --,然后这第二个整数就被减少1,变成1,
//然后打印a二维数组第一行就是 1,1,3
//在Dev-C++里面, p=a,编译报错,改为p=(int
)a,编译通过。