请教C++高手,下面程序错在哪里,应该怎么改?还有int size 和sizeof(array)⼀sizeof(int)之间有什么关系?

2025-03-01 19:47:33
推荐回答(4个)
回答1:

//************************************************
//****findMinMax函数找出数组的最小和最大的元素****
//************************************************
#include

void findMinMax(int array[],int size,int &min,int &max);

void main()
{
int array[10]={34,34,23,89,1,2,13,42,5,54};
int min,max;
findMinMax(array,sizeof(array)/sizeof(int),min,max);
cout<<"Max val is :"< cout<<"Min val is :"<}

void findMinMax(int array[],int size,int &min,int &max)
{
min=max=array[10];
for(int i=1;i if(array[i] if(array[i]>max) max=array[i];
}
}
上机试过,绝对正确!
sizeof(array)/sizeof(int)是array[]的大小,也就是findMinMax中的size。
不sizeof(array)/sizeof(int)只是2,/在此代表整除

回答2:

#include
using namespace std;
void findMinMax(int array[],int size,int &min,int &max)
{
min=max=array[0];
for(int i=1;i if(array[i] if(array[i]>max) max=array[i];
}
}

int main()
{
int arry[10]={34,34,23,89,1,2,13,42,5,54};
int min,max;
findMinMax(arry,sizeof(arry)/sizeof(int),min,max);
cout<<"Max val is :"< cout<<"Min val is :"< return 0;
}

sizeof(array)/sizeof(int)算出的是array数组的长度,sizeof(array)/sizeof(int)是实参,size是形参,在调用函数时,将实参的值传给了形参。

回答3:

这是修改完的,所有你错的地方我都会注释,标出来
#include

void findMinMax(int array[],int size,int &min,int &max)
{
min=max=array[10];
for(int i=1;i {
if(array[i] if(array[i]>max) max=array[i];
}
}//漏了一个大括号

int main()
{
int array[10]={34,34,23,89,1,2,13,42,5,54};//array打错,你打了arry
int min,max;
findMinMax(array,sizeof(array)/sizeof(int),min,max);
cout<<"Max val is :"< cout<<"Min val is :"<}
就这么两个错误
这个函数的调用里 size = sizeof(array)/sizeof(int)

回答4:

findMinMax函数最后少了一个大括号}

ps:
main函数中定义的是arry,传参数时写成了array.
min=max=array[10];这句应该改成min=max=array[0];