都好难啊 完全看不懂
翟欢 中级粉丝 2022-10-27 20:41:37
150 0 0
问题来自: 数组和函数
以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能
#define MIN -2147463647
int findmax(int x[],int n)
{
  int i,max;
  for(i=0;i<n;i++)
  {
    max=MIN;
    if(max<x[i]) max=x[i];
  }
  return max;
}
造成错误的原因是 ______ 。
A. 定义语句int i,max中max未赋值
B. 赋值语句max=MIN;中,不应该给max赋MIN值
C. 语句if(max<x[i])max=x[i];中判断条件设置错误
D. 赋值语句max=MIN;放错了位置
答案:D
解析:如果要选出最大值,应在max小于当前项时,让max等于当前项。其他情况不对max赋值。而本题在每次执行for循环时都执行max=MIN;,破坏了判断流程,max=MIN;应放在for循环的前面。因此选D。

共 0 个回答

您还没有登录,所以不能回复该问题
我要回复

  • 0

    点赞

  • 扫一扫分享朋友圈

    二维码

  • 分享

相关问题