| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 542 人关注过本帖
标题:初始化错误
只看楼主 加入收藏
qinliang
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2008-9-2
收藏
 问题点数:0 回复次数:5 
初始化错误
main(){
  int a[3][3]={1,2,3,4,5,6,7,8,9};
  int *pa[3]={a[0],a[1],a[2]};
  int *p=a[0];
  int i;
  for(i=0;i<3;i++)
      printf("%d,%d,%d\n",a[i][2-i],*a[i],*(*(a+i)+i));
  for(i=0;i<3;i++)
      printf("%d,%d,%d\n",*pa[i],p[i],*(p+i));
}


我编译后,TC抱错,说int *pa[3]={a[0],a[1],a[2]};初始化错误!!!
怎么回事啊,有哪为高人能解释下吗???先谢了!!!
2008-09-08 21:56
snakealpha
Rank: 1
来 自:扬州
等 级:新手上路
威 望:1
帖 子:267
专家分:0
注 册:2005-11-5
收藏
得分:0 
我记得[]的优先级高于*,因此你的*pa[3]只是一个指针而已,并非为三个指针构成的数组。

天涯也有江南信
梅破知春近
夜阑风细得香迟
不道晓来开遍向南枝
2008-09-08 22:37
woshiyun
Rank: 1
等 级:新手上路
威 望:2
帖 子:348
专家分:0
注 册:2008-6-16
收藏
得分:0 
[bo][un]snakealpha[/un] 在 2008-9-8 22:37 的发言:[/bo]

我记得[]的优先级高于*,因此你的*pa[3]只是一个指针而已,并非为三个指针构成的数组。

[]的优先级高于*,这是对的。
所以就很奇怪你怎么还得出了你后面的结论?没道理啊。
2008-09-08 23:41
vfdff
Rank: 6Rank: 6
等 级:侠之大者
威 望:8
帖 子:2172
专家分:425
注 册:2005-7-15
收藏
得分:0 
[]的优先级高于* ,所以这是一个数组
2008-09-09 00:52
netsolo
Rank: 1
等 级:新手上路
帖 子:122
专家分:0
注 册:2008-3-6
收藏
得分:0 
换个编译器吧
2008-09-09 09:10
heartstring
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2008-9-9
收藏
得分:0 
在我的机器上是可以正常编译运行的,是不是编译器的关系?
2008-09-09 09:31
快速回复:初始化错误
数据加载中...
 
   



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

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