| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1253 人关注过本帖
标题:关于指针的一个小问题(急!)
取消只看楼主 加入收藏
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
结帖率:70%
收藏
 问题点数:0 回复次数:3 
关于指针的一个小问题(急!)
在一个求平均植的二维数组
#include<stdio.h>
void main()
{
     void avearage(float *p,int n);
     float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,2}};
     avearage(*a,12);
     system("pause");
}
void avearage(float *p,int n)
{
     float *pend;
     float sum=0,aver;
     pend=p+n-1;
     for(;p<=pend;p++)
     sum=sum+(*p);
     aver=sum/n;
     printf("aver=%f",aver);
     }
本人想问的是在调用函数的时候用avearage(*a,12);语句和用avearage(a,12);语句为什么结果是一样的?本人愚钝确实搞不懂还望高人指点一下.

[[it] 本帖最后由 faminxmu 于 2008-4-25 20:50 编辑 [/it]]
搜索更多相关主题的帖子: 指针 
2008-04-25 19:52
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
回复楼上俩
对于(调用函数时,要标明自变量的类型,如果不标,系统默认类型为int型。应该时这个原因吧!!!)貌似不太可能因为a已经是数组名,就算你说的默认是int型但我用avearage(a,12);运行后结果和avearage(*a,12);一样也就是说是正确的结果这个怎么解释呢?而对于(*a和a[0]都是指向第一个元素,不能直接用a,这个是二维数组。
sj:函数声明在主函数前头)这个我当然清楚但我确实用avearage(a,12);得到正确结果了我就是在这里想不通为什么会是占用的

在虚拟的世界中寻找目标。
2008-04-25 20:38
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
回复楼上的
刚才我在我的代码上少写了avearage(*a,12);现在补上了您测试一下
#include<stdio.h>
void main()
{
     void avearage(float *p,int n);
     float a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,2}};
     avearage(*a,12);/*把avearage(*a,12);换成avearage(a,12);再测试一下*/
     system("pause");
}
void avearage(float *p,int n)
{
     float *pend;
     float sum=0,aver;
     pend=p+n-1;
     for(;p<=pend;p++)
     sum=sum+(*p);
     aver=sum/n;
     printf("aver=%f",aver);
     }

在虚拟的世界中寻找目标。
2008-04-25 20:53
faminxmu
Rank: 3Rank: 3
来 自:厦门
等 级:论坛游侠
帖 子:191
专家分:106
注 册:2008-4-23
收藏
得分:0 
回复楼上的
听您说会出现编译错误我从新又编译了一次没有发现任何错误,对于您说:“再次建议把函数声明放在主函数前面,别习惯了不好^_^”,我想说的是我这个题目是从老潭的书抄过来的,难道这个习惯真的不好吗?按您所说的将函数声明放在主函数前面那您要是调用到其他的文件时那不乱套了??

在虚拟的世界中寻找目标。
2008-04-25 21:14
快速回复:关于指针的一个小问题(急!)
数据加载中...
 
   



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

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