第一空答案是&a[index]但是不懂是什么意思,其他两空没问题

img

p是下三角阵压缩成的数组,对于第0行,首元素的位置是a[0],对于第1行,首元素的位置是a[1],对于第2行,首元素的位置是a[1+2],对于第3行,首元素的位置是a[1+2+3],所以第i行首元素是1+2+...+i=i(i+1)/2,这就是index的含义
而p是一个指向每一行的指针,所以要取a[index]对应的地址

把三角阵想成 a[NUM]=1,6,7,11,12,13,16,17,18,19.21,22,23,24,25

p是个指针数组,而数据在数组中的位置可以通过比对地址来实现
记录每一行应停止的地址,在最下方循环的时候比对,当两者重合的时候,跳出循环打印\n,实现输出左下半三角的目的.
实际上就是把原本的数组坐标比对变成了指针地址比对,对于每一行的最后一个元素,其在二维数组内的位置偏移恰好为index*4(index个int的偏移),于是把这个地址记录在p中
有帮助望采纳