#######define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int arr[10]={ 0 };
//输入十个数字
int i=0;
for (i=0; i<10 ; i++)
{
scanf("%d", &arr[i]);
}
//找最大值
int max=arr[0];
for (i=1; i<10; i++)
{
if (arr[i]>max)
{
max=arr[i];
}
}
//打印
printf("max=%d\n", arr[i]);
return 0;
}
printf("max=%d\n", arr[i]);
改成
printf("max=%d\n", max);
==============
arr[i]是错的,上面循环结束的时候,i等于10,arr[10]是越界访问,数组外的内存值没有初始化,显示是个随机的-858993460值
你最后输出应该是max
而不是arr[i]此时i=10越界了
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int arr[10]={ 0 };
//输入十个数字
int i=0;
for (i=0; i<10 ; i++)
{
scanf("%d", &arr[i]);
}
//找最大值
int max=arr[0];
for (i=1; i<10; i++)
{
if (arr[i]>max)
{
max=arr[i];
}
}
//打印
printf("max=%d\n", max);
return 0;
}
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!