| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 698 人关注过本帖
标题:指针,错在哪
取消只看楼主 加入收藏
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:3 
指针,错在哪
#include<stdio.h>
int s[3][3];
void one(int *p);
int main()
{
int *p;
p=*s;
for(;p<*s+9;p++)
scanf("%d",p);
one(*s);

}

void one(int *p)
{
    int i,j,t;
    for(i=0;i<3;i++)
        for(j=0;j<3;j++)
    {if(i<j)t=(p+i)[j],(p+i)[j]=(p+j)[i],(p+j)[i]=t;}/*这是个转置函数,这是转置部分,但是运行结果没有转置~(要用指针,请告诉我错在哪,不要用不同的方法)*/

for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf("%d ",s[i][j]);
}


指点一下~
搜索更多相关主题的帖子: 指针 
2010-06-15 15:33
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
收藏
得分:0 
额···没人懂吗···
2010-06-15 16:50
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
收藏
得分:0 
回复 6楼 xiaomanaruto
原来只能用2维指针 才能这样写啊,好的,谢谢!
2010-06-15 18:42
z9895512
Rank: 2
等 级:论坛游民
帖 子:24
专家分:43
注 册:2010-6-3
收藏
得分:0 
回复 8楼 lzdrifter
int *p
虽然p是指向a[3][4]数组,但却不能用*((p+i)+j)去代表第i行第j列元素值
若定义p为2维数组指针
int (*p)[4]
就可以用*((p+i)+j)去代表第i行第j列的元素值
2010-06-15 19:14
快速回复:指针,错在哪
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026373 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved