#include <stdio.h>
#define M 10
#define N 10
void Max_Min(int array[M][N],int m,int n)
{
int i,j,k,max,min;
for(i=0;i<m;i++)
{
max=i;j=0;
}
for(j=0;j<n;j++)
{
if(array[max][j]<array[i][j])
{
array[max][j]=array[i][j];
min=j;
}
}
for(k=0;k<m;k++)
if(array[max][min]>array[k][min])
break;
else
printf("%d",array[max][min]);
}
void main()
{
int array[M][N];
int i,j,m,n;
scanf("%4d%4d\n",&m,&n);
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%4d",&array[i][j]);
Max_Min( array, m, n);
}
能VC6.0中编译通过,但运行时提示指令引用的内存不能为read.
----------------解决方案--------------------------------------------------------
在我这儿 运行没问题
检查你的环境
百度搜索 指令引用的内存不能为read
----------------解决方案--------------------------------------------------------
#include <stdio.h>
#define M 10
#define N 10
void Max_Min(int array[M][N],int m,int n)
{
int i,j,k,max,min;//min 未赋初值
for(i=0;i<m;i++)
{
max=i;j=0;
}
for(j=0;j<n;j++)
{
if(array[max][j]<array[i][j])//条件不成立 m将不会被赋值
{
array[max][j]=array[i][j];
min=j;
}
}
for(k=0;k<m;k++)
if(array[max][min]>array[k][min])//运行过程m可能会没有被赋值
break;
else
printf("%d",array[max][min]);
}
void main()
{
int array[M][N];
int i,j,m,n;
scanf("%d%d\n",&m,&n);
getchar();
for(i=0;i<m;i++)
for(j=0;j<n;j++)
scanf("%d",&array[i][j]);
Max_Min( array, m, n);
}
呵呵 我没改只是指出得错误哈 至于怎么改 .............
----------------解决方案--------------------------------------------------------
到遇到这样的情况的时候你要注意下下标的引用是否越界
----------------解决方案--------------------------------------------------------
谢谢你指出错误的地方.
----------------解决方案--------------------------------------------------------
谢谢 我也不知乍搞的,我编程时经常出现内存不能为读的情况,不知是什么原因.
----------------解决方案--------------------------------------------------------