注册 登录
编程论坛 C++教室

请诊断一下此程序,关于指针,数组调用的

science 发布于 2006-12-30 18:08, 545 次点击
这个程序是读入5个数,打印其max ,min.
我觉得我的在调用方面出现问题,请高手指教。
#include<iostream.h>
#include<iomanip.h>
max(int * ,int );
min(int * ,int );
int main()
{ const int arrysize=5;
int a[arrysize];
int i;
for(i=0;i<=arrysize-1;i++)//读入数据
cin>>a[i];
for(i=0;i<=arrysize-1;i++)//打印数组
cout<<a[i]<<setw(5);
cout<<endl;
cout<<max(a,arrysize)<<setw(5)<<min(a,arrysize)<<endl; //打印max,min
return 0;
}
int max(int *p,int n)
{int i, max=0;
for(i=0;i<=n-1;i++)
if(*p[i]>max) //这里有问题吗
max=*p[i];
}
int min(int *p,int n)
{int i, min=0;
for(i=0;i<=n-1;i++)
if(*p[i]<min)//还有这里吗
min=*p[i];
}
8 回复
#2
一二三四五2006-12-30 19:14
(*p[i]>max

当然有问题,你把星号去掉就可以了

用指针取下标就可以,没有必要再加一个*号

#3
science2006-12-30 19:28

这样还不行,不会出现最大值与最小值

#4
science2006-12-30 19:30


输入:1 5 2 8 4
输出:
1 5 2 8 4
5 5
Press any key to continue

#5
song42006-12-30 19:37
哦 ,看看
#6
song42006-12-30 19:40
int max(int *p,int n)
{int i, max=0;
for(i=0;i<=n-1;i++)
if(p[i]>max) //这里有问题吗
max=p[i];
return max;
}
int min(int *p,int n)
{int i, min=0;
for(i=0;i<=n-1;i++)
if(p[i]<min)//还有这里吗
min=p[i];
return min;
}
这样呢,2 楼说的对
#7
science2006-12-30 19:52

为什么还要用return,
我看到很多程序不需用,又有很多程序需用
针对这个程序,为什么需要呢?

#8
踏魔狼2006-12-30 20:03
void max() 不需要return.
不是void 的都需要return.
#9
science2006-12-30 21:11
听君一席话
胜读2 hours书
1