那位高手看看这个何解???

来源:6-2 数组的遍历

逆水中的鱼

2015-08-13 00:08

#include <stdio.h>
int main()
{
 int i,max,a[]={10,5,20,31,4};
 max=a[0];
 for(i=0;i<5;i++)
 if(a[i]>max)
 max=a[i];
 printf("maxnum=%d\n",max);
 return 0;
}

为何运行结果只有31,没有20呢??

写回答 关注

8回答

  • 慕移动9341187
    2016-09-24 19:11:22

    a【0】不是代表第一个数,这里定义的a【0】指的是一个随机数 。而不是你定义的数组里的数

  • daoer
    2015-10-30 14:51:06

    因为你没for语句后,没有加标号,编译时,默认只选择一句。相当于

    for(i=0;i<5;i++)

     { if(a[i]>max)

       {max=a[i];}

    }

     printf("maxnum=%d\n",max);

    所以选出最大以后,再输出。

  • xunluzhe
    2015-10-18 09:04:50
    #include <stdio.h>
    int main()
    {
     int i,max,a[]={10,5,20,31,4};
     max=a[0];
     for(i=0;i<5;i++)
     if(a[i]>max)
     {max=a[i];
     printf("maxnum=%d\n",max);
     }
     return 0; 
    }

    这样输出才是20 31.进行5次判断,大于一次就输出一次

  • qq_IT男求壁咚_0
    2015-09-29 11:20:39

    是从数组里面依次运行找最大的,然后输出最大的

  • bangni66
    2015-09-12 17:48:15

    变量max在for语句里相对来说算静态类型变量。

  • I_尼克哇
    2015-08-13 10:09:22

    对啊对啊,选最大数滴

    逆水中的鱼

    不是只要大于a[0]就可以吗!答案为啥不是20,31呀?

    2015-08-13 16:42:18

    共 1 条回复 >

  • 伊兮尘昔
    2015-08-13 10:05:46

    为什么有20,这是选最大数的

  • 伊兮尘昔
    2015-08-13 10:05:23

    为什么有20,这是选最大数的

    逆水中的鱼

    不是只要大于a[0]就可以吗!答案为啥不是20,31呀?

    2015-08-13 16:41:35

    共 1 条回复 >

C语言入门

C语言入门视频教程,带你进入编程世界的必修课-C语言

926027 学习 · 20793 问题

查看课程

相似问题