为了账号安全,请及时绑定邮箱和手机立即绑定

提供自查出错代码题,另求maxNum为何最后获取为3.


#include <iostream>

using namespace std;

/**

  *函数功能:返回a和b的最大值

  *a和b是两个整数

  */

int getMax(int a, int b)

{

    return a > b ? a : b;

}


/**

  * 函数功能:返回数组中的最大值

  * arr:整型数组

  * count:数组长度

  * 该函数是对上面函数的重载

  */

int getMax(int *arr,int count)

{

    //定义一个变量并获取数组的第一个元素

    int maxNum= arr[0];

for(int i = 1; i < count; i++)

{

        //比较变量与下一个元素的大小

if(maxNum <arr[i])

{

            //如果数组中的元素比maxNum大,则获取数组中的值

int maxNum=arr[i];

}

}

return maxNum;

}


int main(void)

{

    //定义int数组并初始化

int numArr[3] = {3, 8, 6};

    

    //自动调用int getMax(int a, int b)

cout << getMax(numArr[0], numArr[2]) << endl;

    

    //自动调用返回数组中最大值的函数返回数组中的最大值

cout << getMax(numArr,3) << endl;

return 0;

}


正在回答

4 回答

数组最大值的判断里面别用int maxNum=arr[i];直接maxNum=arr[i];因为这个int 了作用域就在判断内。当跳出循环后输出的是本来Arr【0】的值了

0 回复 有任何疑惑可以回复我~

*arr指向的是数组的第一的元素


1 回复 有任何疑惑可以回复我~

#include <iostream>

using namespace std;

/**

  *函数功能:返回a和b的最大值

  *a和b是两个整数

  */

int getMax(int a, int b)

{

    return a > b ? a : b;

}


/**

  * 函数功能:返回数组中的最大值

  * arr:整型数组

  * count:数组长度

  * 该函数是对上面函数的重载

  */

int getMax(int arr[],int count)

{

    //定义一个变量并获取数组的第一个元素

    int maxNum=arr[0];

for(int i = 1; i < count; i++)

{

        //比较变量与下一个元素的大小

if(maxNum < arr[i])

{

            //如果数组中的元素比maxNum大,则获取数组中的值

maxNum=arr[i];

}

}

return maxNum;

}


int main(void)

{

    //定义int数组并初始化

int numArr[3] = {3, 8, 6};

    

    //自动调用int getMax(int a, int b)

cout << getMax(numArr[0], numArr[2]) << endl;

    

    //自动调用返回数组中最大值的函数返回数组中的最大值

cout << getMax(numArr,3) << endl;

return 0;

}


0 回复 有任何疑惑可以回复我~

没人回答?

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C++远征之离港篇
  • 参与学习       122700    人
  • 解答问题       474    个

C++扫清通往面向对象的最后一道障碍,将所有知识点融会贯通

进入课程

提供自查出错代码题,另求maxNum为何最后获取为3.

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信