标题:int a[3][4],*p=a;为什么会出错?(结贴)
取消只看楼主
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
结帖率:100%
 问题点数:0 回复次数:3 
int a[3][4],*p=a;为什么会出错?(结贴)
谢谢大家帮忙 终于改好了 懂了这个程序 指针应该算是明白了
main()
{
 int a[3][4],k,*p=*a;
 float average(int *n);
 void chengji(int,int *n);
 void shuru(int a[][4]);
  shuru(a);
  printf("%.2f\n",average(p));
  scanf("%d",&k);
  chengji(k,p);
}
void shuru(int b[][4])
{
 int m,n;
  for(m=0;m<3;m++)
   for(n=0;n<4;n++)
    scanf("%d",*(b+m)+n);
}
float average(int *n)
{
 int m;
 float aver=0;
  for(m=0;m<12;m++)
   aver+=*n++;
  aver/=12;
  return aver;
}
void chengji(int g,int *n)
{
 printf("%4d%4d%4d%4d\n",*(n+g*4),*(n+1+g*4),*(n+2+g*4),*(n+3+g*4));
}

[ 本帖最后由 njzhangyuhao 于 2011-2-26 14:36 编辑 ]
搜索更多相关主题的帖子: void average return 
2011-02-26 12:31
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
得分:0 
输入3个学生成绩 每人4门功课 算平均值 查询某名学生成绩 我指针概念混乱 求指点
2011-02-26 12:54
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
得分:0 
a不是相当于数组a的首地址么 相当于a[0][0]的地址 为什么必须用(*p)[4]呢
2011-02-26 13:06
njzhangyuhao
Rank: 2
等 级:论坛游民
帖 子:197
专家分:35
注 册:2010-11-20
得分:0 
a+1是a[1] 第一行首地址 对么? 为什么a不是地址呢?
2011-02-26 13:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-332817-1-1.html




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

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