C程序问题

[复制链接]
查看11 | 回复1 | 2009-7-22 15:03:53 | 显示全部楼层 |阅读模式
#include
using namespace std;
int max(int a[]);
void main()
{
int array[]={17,85,67,83,65,49,26,92,38,42};
int result;
result=max(array[]);
cout<<result;
}
int max(int a[])
{
int*p;
int z=a[0];
p=&a;
for(int i=0;i<8;i++)
{
if(*(p+i)<*(p+i+1))
z=a[p+i+1];
else
z=a[p+i];
}
return z;
}
想返回一个数组中的最大值和下标 我这个程序错在哪儿 调试显示不能间接引用 和语法错误 我刚学数组 不是很会 恳请指点

回复

使用道具 举报

千问 | 2009-7-22 15:03:53 | 显示全部楼层
// 语法和算法都有问题,自己跟原来的对比吧#includeusing namespace std;int max(int a[], int len);// len是数组a的长度int main(){
int array[] = {17,85,67,83,65,49,26,92,38,42};
int len = sizeof(array) / sizeof(int);
// 自动算出数组长度,如果数组长度改变,仍可适用
// 当然,如果数组长度是固定的,那就不必这样了
int result;
result = max(arr...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行