You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C++数组求最大值函数代码运行结果错误,请求排查问题

问题排查与修正

你的代码核心错误出在find_max函数的赋值语句里:

max = *(arr +1);

这里你错误地把数组的第二个元素(也就是值为5的arr[1])赋值给了max,而不是当前循环中找到的更大元素*(arr + i)。这就导致只要遇到比当前max大的元素,max就会被重置为5,最终返回结果自然是5。

修正后的find_max函数应该是:

int find_max (int *arr, int size) {
   int max = *arr;
   for ( int i = 1; i < size; i++)
     if (*(arr + i) > max)
     {
         max = *(arr + i); // 这里改成i,不是1
     }
   return max;
}

另外还有一个小问题:你的main函数中使用了cout,但没有包含对应的头文件,编译时可能会报错,需要在代码最顶部添加:

#include <iostream>
using namespace std; // 或者使用std::cout替代cout

如果不想用using namespace std;,可以把cout改成std::cout,这样更符合C++的编码规范。

内容的提问来源于stack exchange,提问作者Alex87

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 10:07:09