| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 415 人关注过本帖
标题:[求助]一个指针和数组的小程序,怎么弄都不对,只好请各位帮帮忙了
只看楼主 加入收藏
柳翔
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-9
收藏
 问题点数:0 回复次数:5 
[求助]一个指针和数组的小程序,怎么弄都不对,只好请各位帮帮忙了
这个小程序怎么都没弄对,还得请高人帮下忙了。
程序的功能是输入一个十个元素的数组,通过一个max子函数返回最大数组的下标,是主页上的教程的例程。不过有错误,好像是函数定义这一块的问题,麻烦各位给看看了。

#include <stdio.h>
main()
{
int *max();
int n,a[10],*s,i;
for(i=0;i<10;i++) /* 输入数据*/
scanf("%d",a+i);
s=max(a,10); /*函数调用*/
printf("max=%d,index=%d\n",*s,s-a);
}
int *max(int *a,int n) /*定义返回指针的函数*/
{
int *p,*t; /* p 用于跟踪数组,t用于记录最大值元素的地址*/
for(p=a,t=a;p-a<n;p++)
if(*p>*t) t=p;
return t;
}
搜索更多相关主题的帖子: 指针 
2007-07-12 23:03
LOVE默默mo
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2007-7-7
收藏
得分:0 
我放在Visual C++里面编译后没有错误啊
图片附件: 游客没有浏览图片的权限,请 登录注册


2007-07-12 23:14
huangfengchu
Rank: 1
等 级:新手上路
威 望:2
帖 子:274
专家分:0
注 册:2007-5-22
收藏
得分:0 
如实在要说错误,这里跟声明对不上int *max(); VS int *max(int *a,int n)

深山苦学C语言,终年不见外面世界。
2007-07-12 23:33
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
此程序在tc环境下运行也没错误啊
2007-07-12 23:38
yqiong
Rank: 1
等 级:新手上路
帖 子:315
专家分:0
注 册:2007-7-4
收藏
得分:0 
c会检查参数错误吗?不会吧,所以 我觉得就这样就对了
2007-07-12 23:39
柳翔
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2007-7-9
收藏
得分:0 
狂晕,我去掉那些注释就可以了……


#include <stdio.h>
main()
{
int *max(int *a,int n);
int n,a[10],*s,i;
for(i=0;i<10;i++)
scanf("%d",a+i);
s=max(a,10);
printf("max=%d,index=%d\n",*s,s-a);
}

int *max(int *a,int n)
{
int *p,*t;
for(p=a,t=a;p-a<n;p++)
if(*p>*t) t=p;
return t;
}

那么,是不是这样就是完全正确的了?


另外,用指针和数组地址之差也可以作为数组的下标?那么指针的值是不是就是和数组下标一样的单位?我不知道是不是可以这么表述…大概就是这个意思了

[此贴子已经被作者于2007-7-13 0:19:12编辑过]

2007-07-13 00:13
快速回复:[求助]一个指针和数组的小程序,怎么弄都不对,只好请各位帮帮忙了
数据加载中...
 
   



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

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