#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呢??
a【0】不是代表第一个数,这里定义的a【0】指的是一个随机数 。而不是你定义的数组里的数
因为你没for语句后,没有加标号,编译时,默认只选择一句。相当于
for(i=0;i<5;i++)
{ if(a[i]>max)
{max=a[i];}
}
printf("maxnum=%d\n",max);
所以选出最大以后,再输出。
#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次判断,大于一次就输出一次
是从数组里面依次运行找最大的,然后输出最大的
变量max在for语句里相对来说算静态类型变量。
对啊对啊,选最大数滴
为什么有20,这是选最大数的
为什么有20,这是选最大数的