| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 473 人关注过本帖
标题:二维数组的表示方法,高手请进
只看楼主 加入收藏
赵疯子
Rank: 8Rank: 8
来 自:dream
等 级:蝙蝠侠
威 望:2
帖 子:365
专家分:737
注 册:2013-5-5
结帖率:94.44%
收藏
已结贴  问题点数:20 回复次数:5 
二维数组的表示方法,高手请进
程序代码:
#include<stdio.h>
main()
{
    int a[3][3]={1,2,3,4,5,6,7,8,9},i=1,j=1;
    int (*p)[3];
    p=a;
    printf("%d",*(p+i)[j]);
}
这个结果为什么等于7呢?求解法,谢谢
搜索更多相关主题的帖子: color 
2013-05-27 09:31
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:5 
[]运算优先级高于*运算,所以
*(p+i)[j]相当于**(p+i+j)=**(p+2)=p[2][0]=a[2][0]=7;
(*(p+i))[j]=p[i][j]=a[i][j]=a[1][1]=5.
2013-05-27 10:26
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2392
专家分:13384
注 册:2013-3-3
收藏
得分:5 
由于[]的运算级别看,*(p+i)[j]=*(*(p+i)+j)=7

Maybe
2013-05-27 11:25
helloUJS
Rank: 8Rank: 8
等 级:蝙蝠侠
帖 子:168
专家分:731
注 册:2013-3-27
收藏
得分:0 
*(*(p+i)+j)=p[i][j]=p[1][1]=a[1][1]=5
2013-05-27 12:04
sepler7
Rank: 1
等 级:新手上路
帖 子:6
专家分:8
注 册:2013-3-1
收藏
得分:5 
*(*(p+i)+j)=*(p[i]+j)=p[i][j]=5
2013-05-27 13:20
自由极客
Rank: 1
等 级:新手上路
帖 子:1
专家分:5
注 册:2013-5-27
收藏
得分:5 
回复 5楼 sepler7
=7
2013-05-27 16:11
快速回复:二维数组的表示方法,高手请进
数据加载中...
 
   



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

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