求教,关于指针的小程序,有些不明白
#include<stdio.h>int main()
{
int a[5]={2,3,8,9,4};
int *pi[5]={&a[0], &a[1], &a[2], &a[3], &a[4] };
int **ppi,i;
//用指针ppi原序输出数组a中的数字
ppi=pi;
for(i=0;i<5;i++)
{
printf("%d\t",**ppi);
ppi++;
}
printf("\n");
//用指针ppi按从小到大输出输出数组a中的数字
ppi=pi;
ppi[1]=pi[1];
ppi[2]=pi[4];
ppi[3]=pi[2];//此时为何pi[2]的值等于ppi[2]的值,而不等于&a[2]?
ppi[4]=pi[3];//此时为何pi[3]的值等于ppi[3]的值,而不等于&a[3]?
ppi=pi;
for(i=0;i<5;i++)
{
printf("%d\t",**ppi);
ppi++;
}
return 0;
}