萍聚社区-德国热线-德国实用信息网

 找回密码
 注册

微信登录

微信扫一扫,快速登录

萍聚头条

查看: 1352|回复: 4

大家帮我看看,为什么不对。

[复制链接]
发表于 2002-11-18 19:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册 微信登录

x
调用findmax()函数,寻找数组中最大元素,将其下标通过参数返回,并返回其地址值。
# include<iostream.h>
int *findmax(int *array,int size,int *index);
void main()
  {
  int a[10]={33,91,54,67,82,37,85,63,19,58};
  int *maxaddr;
  int idx;
  maxaddr=findmax(a,sizeof(a)/sizeof(*a),&idx);
  cout<<"the index of maximum element is"<<idx<<endl
      <<"the address of it is"<<maxaddr<<endl
      <<"the value of it is"<<a[idx]<<endl;  
int* findmax(int array[],int size,int *index)
  {
  int *max=array;
  int *temp=array;
  for(int i=0;i<size;i++)
   {if (*max<*array)
      {temp=max;
       max=array;
       array=temp;
       }
    array++;
    }
  int *index=max;
  return max;
  }   

13 C:\c++\8.1.cpp parse error before `{'
15 C:\c++\8.1.cpp `array' undeclared (first use this function)
                  [Build Error] (Each undeclared identifier is reported only once
16 C:\c++\8.1.cpp `size' undeclared (first use this function)
17 C:\c++\8.1.cpp `max' undeclared (first use this function)

谢谢!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2002-11-18 21:48 | 显示全部楼层
谢谢,不过好像不对。
我理解一旦把数组作为参数传递到函数中,则在栈stack上定义了指针(实际上传递的是一个指针指向数组的第一个元素),可以对该指针进行递增,递减操作。
比较下面两例:
void Sum(int array[],int n)
{
  int sum=0;
for(int i=0;i<n;i++)
  {
   sum+=*array;
   array++;//ok,array is a pointer,可以作为左值。
   }
cout<<sum<<endl;
}


int array[10];
int sum=0;
for(int i=0;i<100;i++)
{
sum+=array;
array++;//error,数组名是指针常量,不能作左值。
}
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2002-11-18 22:06 | 显示全部楼层
对不起,发上一贴时没看到你的新贴。我用temp太笨了:D,谢谢你!!
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
发表于 2002-11-18 22:56 | 显示全部楼层
好像现在的开发工具都可以传递数组而无须考虑什么指针的问题。
至少我用Delphi是这样的。

所以,所以……觉得好像没有必要把这个问题搞得这么清楚……

随口说的,对此不负责任。
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
 楼主| 发表于 2002-11-20 22:14 | 显示全部楼层
Die von den Nutzern eingestellten Information und Meinungen sind nicht eigene Informationen und Meinungen der DOLC GmbH.
您需要登录后才可以回帖 登录 | 注册 微信登录

本版积分规则

手机版|Archiver|AGB|Impressum|Datenschutzerklärung|萍聚社区-德国热线-德国实用信息网 |网站地图

GMT+2, 2024-5-2 15:04 , Processed in 0.057106 second(s), 20 queries , MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表