搜索
查看: 682|回复: 2
打印 上一主题 下一主题

输出数组中最大的数,该怎么理解?

[复制链接]
跳转到指定楼层
楼主
发表于 2014-7-28 15:44:13 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
5啊哈币
[mw_shl_code=c,true]#include <stdio.h>

int main()
{
    //在这里写上你的代码
    int i, max, a[5] = {10, 5, 20, 31, 4};
        max = a[0];
        for (i = 0; i < 5; i++)
            if (a > max)
                max = a;

    printf("maxnum=%d\n", max);
    return 0;
}[/mw_shl_code]

max = a[0]  是把数组中第1个数10 赋给max对吧?
max 初始化为 10,a[2]>max ,为什么不输出?
a[2]和a[3]都比a[0]大,最后却输出a[3],不明白,请解释,谢谢,最好能详细一些。




最佳答案

查看完整内容

因为输出在那个循环外面啊,要执行完整个循环才会执行输出 才会输出 max在循环的每个时点都包含数组的最大值,所以最后一定是整个数组的最大值
沙发
发表于 2014-7-28 15:44:14 | 只看该作者
本帖最后由 rosynirvana 于 2014-7-28 16:24 编辑
max 初始化为 10,a[2]>max ,为什么不输出?

因为输出在那个循环外面啊,要执行完整个循环才会执行输出

  1. for (i = 0; i < 5; i++)
  2.         if (a[i] > max){
  3.             max = a[i];
  4.             printf("maxnum=%d\n", max);
  5.         }
复制代码

才会输出
max在循环的每个时点都包含数组的最大值,所以最后一定是整个数组的最大值
板凳
 楼主| 发表于 2014-7-28 17:55:33 | 只看该作者
懂了,谢谢rosynirvana
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

广播台
特别关注
快速回复 返回顶部 返回列表