指针错哪儿了

[复制链接]
查看11 | 回复3 | 2012-6-14 13:47:30 | 显示全部楼层 |阅读模式
修改zhuan函数就可以了void zhuan(int a[][N]){int i,j;int **p;p=new int*[N];//这里要为p申请存放指针的空间,p只是指向这个存放指针空间的指针for (i=0;i<N;i++){*(p+i)=a;//这里把数组a每一行的首地址给p的一级指针}for(i=0;i<N;i++){for(j=0;j<=i;j++){*(*(p+i)+j)=*(*(p+j)+i);}}}...
回复

使用道具 举报

千问 | 2012-6-14 13:47:30 | 显示全部楼层
多级指针不能这么用吧你应该用二维数组指针吧int **p;*p=a[0];改成 int(*p)[N];p=a;...
回复

使用道具 举报

千问 | 2012-6-14 13:47:30 | 显示全部楼层
int **p;*p=a[0];p是指针的指针,所以*(p+i)并不是指向a...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行