| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 261 人关注过本帖
标题:大家帮忙看看这个与二位数组有关的程序 哪错啦?
只看楼主 加入收藏
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
结帖率:88.89%
收藏
 问题点数:0 回复次数:4 
大家帮忙看看这个与二位数组有关的程序 哪错啦?
# include <stdio.h>
int main(void)
{
    static int a[2][3] = { {1,2,3}, {4,5,6} };
    int i, j;
    int * p[3];
    p = a;
    for (i=0; i<2; i++)
        for (j=0; j<3; j++)
        printf("%2d", *(*(p+i)+j));
    return 0;
}
顺便解释一下 *(*(p+i)+j) 怎么理解?
谢谢。

[ 本帖最后由 gaolongtou 于 2012-10-24 20:57 编辑 ]
搜索更多相关主题的帖子: include 
2012-10-24 20:44
万光海
Rank: 3Rank: 3
来 自:桂林
等 级:论坛游侠
帖 子:92
专家分:133
注 册:2012-10-21
收藏
得分:0 
有个地方可以改改吧!我觉得哈!:int *p[3].改成int (*p)[2]!吧,应为你上面的二维数组是2行啊,*(*(p+i)+j)就是用指针的方式找到第i行,第j列的意思!
2012-10-24 21:19
StarFall
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:193
专家分:553
注 册:2012-10-1
收藏
得分:0 
同楼上, 改成int (*p)[3];   []的优先级比较大。 必须加括号

去追寻更高的技术领域。永不停止。
2012-10-24 21:40
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 2楼 万光海
能不能写成*(p+i+j)啊?
这个是不是也表示i行j列啊?
2012-10-24 22:03
gaolongtou
Rank: 2
等 级:论坛游民
帖 子:79
专家分:42
注 册:2012-9-25
收藏
得分:0 
回复 3楼 StarFall
嗯,谢谢。
2012-10-24 22:04
快速回复:大家帮忙看看这个与二位数组有关的程序 哪错啦?
数据加载中...
 
   



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

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