c++ - C++ 数组传递给具有大小的函数
问题描述
我正在编写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;
}
解决方案
在
int maxfunc(int myArr, int size)
该参数int myArr
是一个整数,但您将其用作整数数组。我会使用指向原始数组的指针:
int maxfunc(int *myArr, int size)
另一个突出的问题是您使用的是size
未初始化的变量,我的猜测是您缺少一个cin >> size;
:
cout<<"Enterv the size of array: ";
cin >> size;
最后,这是基于意见的,这是您将在 C 中使用的那种程序,对于 C++,有更好的工具来存储操作数据。对于这种情况,我建议std::vector
或者如果数组具有固定大小,std::array
.
推荐阅读
- javascript - HighCharts 如何将实时系列数据集添加到现有图表
- javascript - Node.js:如何从 MongoDB 中的光标返回当前文档
- mysql - 如何在不使用 CTE 由于版本错误的情况下重写 MySQL CTE 查询?
- java - 如何向 quarkus 注册注释处理器
- pandas - 对于通过 IntervalIndex 定义的列范围,如何计算 2D DataFrame bin 上的几何平均值和 stddev?
- ibm-datapower - 将 IBM Cloud 用于 SaaS API 管理和本地网关
- r - 从 r 中的 Search() 弹性创建的数据帧,但在使用生成的数据帧时收到错误'conn must be an elastic connection object
- objective-c - 使用自动布局时在 MacOS 上隐藏状态栏
- max - 根据测量的最大值创建排名分数
- html - 使用负边距属性时如何防止文本元素中的光标跳转