c++ - 函数返回数组中最大元素的地址

标签 c++ arrays pointers function-pointers

不知何故这段代码不起作用,我得到的结果是垃圾数字。你们能看看吗?

float * greatest(float *elements,int length){

float max=elements[0];int index=0;

for (int i = 1; i < length; i++)
{
    if(max<elements[length]){
        max = elements[length];
        index = length;}
}
return &elements[index];
}

最佳答案

if(max<elements[length]){

将始终返回最后一个元素,因为长度永远不会改变。你要

if(max<elements[i]){

关于c++ - 函数返回数组中最大元素的地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22819912/

相关文章:

c++ - 初始化的最佳代码

c++ - C++中字符串的堆栈溢出?

c++ - C++在内部声明变量时如何生成随机地址?为什么它不线性存储它们?

javascript - 我怎样才能制作多维数组arduino

Java 错误 - .charAt() 返回数字字符串中的两个字符

c++ - 如何在 main 中使用指针数组?

c - 指针明显无缘无故地改变 - C

c++ - Eigen SparseLU 解决 error read access violation,this->m_sup_to_col was 0x111011101110112

python - 指定 numpy.datype 来读取 GPX 轨迹点

c - 指针算术在数组外是否仍然有效?