C语言求最大值 大家帮我看看问题出在哪?

来源:百度知道 编辑:UC知道 时间:2024/05/30 02:45:38
#include "stdio.h"
main()
{
int i,max;
int a[4];
printf("请输入数字:");
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
for(i=0;i<=4;i++)
{
if(max<=a[i])
max=a[i];
}
printf("最大数max%d",max);
}
但是输入1,2,3,4,5后没反应

程序没错,,、

输入是5 按回车,4按回车。。。。是输入数字按回车输入的。

不是这样。。1,2,3,4,5

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

for(i=0;i<4;i++) //这是惯用写法

#include "stdio.h"
main()
{
int i,max;
int a[5];
printf("请输入数字:");
for(i=0;i<=4;i++)
{
scanf("%d",&a[i]);
}
max=a[0];
for(i=0;i<=4;i++)
{
if(max<=a[i])
max=a[i];
}
printf("最大数max=%d"/n,max;
}
越界了 这样应该就没问题了!

你把第11行for(i=0;i<=4;i++)改成for(i=0;i<4;i++)

循环输入5次,数组元素数却只有4个, 输入4个数字 当然没反映了, 输入5个就会越界而崩溃!

用空格或者回车分隔,输入最后一个数字之后要加回车.