c语言二维数组赋值

c语言二维数组赋值部分代码:
int i,j;
int a[15][22];
for(i=0;i<15;i++)
{
for(j=0;j<22;j++)
{
mt[i][j]=0;
}
}

for(i=0;i<15;i++)
{
for(j=0;j<22;j++)
{
printf("%d,",&a[i][j]);
}
printf("\n");
}

但为什么输出是
10484000,10484004,10484008,10484012,10484016,10484020,10484024,10484028,10484032,10484036,10484040,10484044,10484048,10484052,10484056,10484060,10484064,10484068,10484072,10484076,10484080,10484084,
10484088,10484092,10484096,10484100,10484104,10484108,10484112,10484116,10484120,10484124,10484128,10484132,10484136,10484140,10484144,10484148,10484152,10484156,10484160,10484164,10484168,10484172,
10484176,10484180,10484184,10484188,10484192,10484196,10484200,10484204,10484208,10484212,10484216,10484220,10484224,10484228,10484232,10484236,10484240,10484244,10484248,10484252,10484256,10484260,
10484264,10484268,10484272,10484276,10484280,10484284,10484288,10484292,10484296,10484300,10484304,10484308,10410484312,10484316,10484320,10484324,10484328,10484332,10484336,10484340,10484344,10484348,
10484352,10484356,10484360,10484364,10484368,10484372,10484376,10484380,10484384,10484388,10484392,10484396,10484400,10484404,10484408,10484412,10484416,10484420,10484424,10484428,10484432,10484436,剩下的贴不下了,求解答

楼主您好,很高兴为您解答问题。

您在输出时输出了地址!

更改后代码:

int i,j;
int a[15][22];
for(i=0;i<15;i++)
{
for(j=0;j<22;j++)
{
mt[i][j]=0;
}
}

for(i=0;i<15;i++)
{
for(j=0;j<22;j++)
{
printf("%d,",a[i][j]);
}
printf("\n");
}

 望采纳!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2016-08-16
代码有错误,mt没有事先声明,是不是打错了?&a[i][j]意思是取a[i][j]的地址,输出的就是地址而不是值了,把&去掉就可以了。
第2个回答  2016-08-16
mt[i][j]=0;

改为a[i][j]