【发布时间】:2020-02-25 17:06:24
【问题描述】:
我正在编写 C++ 代码以使用函数从整数数组中获取最大数。
我的代码如下,但它不起作用,我似乎无法修复它,如果可能的话,我想知道它有什么问题:
#include<iostream>
using namespace std;
int maxfunc(int myArr, int size);
int main()
{
int size;
cout<<"Enterv the size of array: "<<size;
int *arr=new int [size];
for(int i=0; i<size; i++)
{
cout<<"Value No. "<<i+1<<" : ";
cin>>arr[i];
}
int max = maxfunc(arr,size);
cout<<"max = "<<max;
}
int maxfunc(int myArr, int size)
{
int largest=myArr[0];
for(int i=1; i<size; i++)
{
if(largest<myArr[i])
{
largest=myArr[i];
}
}
return largest;
}
【问题讨论】:
-
是什么让你觉得代码有问题?您是否期望某些特定输出运行它,但您得到了不同的输出?如果是这样,你能这么说并给出这两个输出吗?或者您是否收到编译时/运行时错误?如果是这样,你能包括错误吗?
-
@Die Hard 你没有输入数组的大小。
-
顺便说一句,代码的问题是您应该使用
std::max_element而不是重新发明轮子,但我觉得这不是您所追求的;) -
编译您的代码,并选择将警告视为错误。
-
投票结束是一个错字。
int maxfunc(int myArr, int size)必须是int maxfunc(int* myArr, int size)或int maxfunc(int myArr[], int size)