本帖最后由 myqicq 于 2015-5-1 01:05 编辑 void main()
{
int m[2][3], max, i, j;
printf("please enter 12 numbers:\n"); //2*3是6个
for (i = 0; i <= 2; i++) //这里<=2,会产生数组越界
{
for (j = 0; j <= 3; j++) //这里<=3,会产生数组越界
{
scanf("%d", &m[i][j]);
}
}
max = m[0][0];
for (i = 0; i <= 2; i++) //这里<=2,会产生数组越界
{
for (j = 0; j <= 3; j++) //这里<=3,会产生数组越界
{
if (m[i][j]>max)
{
max = m[i][j];
}
}
}
printf("max=%d\n", max);
}
改正的代码[code]void main()
{
int m[2][3], max, i, j;
printf("please enter 6 numbers:\n");
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
scanf("%d", &m[i][j]);
}
}
max = m[0][0];
for (i = 0; i < 2; i++)
{
for (j = 0; j < 3; j++)
{
if (m[i][j]>max)
{
max = m[i][j];
}
}
}
printf("max=%d\n", max);
system("pause");
}[/ code]
|