第二行好理解 上一行 p地址自增两次自减一次 此时已经指向了a[1] 所以输出2 3;第一行运算从右往左 (先了解 号和自增自减的优先级)第一步:(p--)做完取值再自减得到1 ,然后指针指向自减1(其实这里我的理解就跟越界一样,只不过是地址所以没影响)第二步:接下去做*++p 指针指向加1后取值得到1第三步:*(++p)和前一个同理指针指向+1取到2,第四步:最后*p直接取2这里涉及到printf()链式输出 从右往左运算 这是我的理解 可能还有其他说法吧有帮助的话麻烦采纳一下