public class Train
{
public static void findmin(int a[][])
{
int b[][]={{100,50,66},{8,10},{2}};
a=b;
}
public static void main(String args[])
{
int c[][]={{12,5,6},{11,0},{11,11,11}};
findmin(c);
int i,j;
for(i=0;i<c.length;i++)
for(j=0;j<c[i].length;j++)
System.out.print(c[i][j]+" ");
}
}
不是说传递的是地址么,可是运行的时候数组c里的值不变的
然后把这一段代码
int i,j;
for(i=0;i<a.length;i++)
for(j=0;j<a[i].length;j++)
System.out.print(a[i][j]+" ");
切到findmin方法结尾,就显示得出来数组里的值变了,请教高手啊
数组传递地址,那方法里的a和主体里的c不是一样地址么,怎么存在上面这个问题呢??
我觉得问题应该是出在a=b这里
因为如果我设置一个循环,让数组a里的每个数值都乘以2,那么这样c数组就会在调用方法中随着a改变而改变
所以应该是a=b有我不了解的地方吧