帮看下哪里出错 了 谢谢
#include <stdio.h>
void main()
{
int a[2][3],b[3][2];
int i,j;
a[2][3]={{1,2,3},{4,5,6}};
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
[解决办法]
#include <stdio.h>
void main()
{
int a[2][3]={{1,2,3},{4,5,6}},b[3][2];
int i,j;
for(i=0;i<=1;i++)
{
for(j=0;j<=2;j++)
{
printf("%5d",a[i][j]);
b[j][i]=a[i][j];
}
printf("\n");
}
for(i=0;i<=2;i++)
{
for(j=0;j<=1;j++)
printf("%5d",b[i][j]);
printf("\n");
}
}
这样就好了
[解决办法]
a[2][3]={{1,2,3},{4,5,6}};
这是错的赋值,a[2][3]是指向a数组里的第3行第4个元素
这样是在定义的时候用的。
你可以用循环给他赋值
[解决办法]
观点同上,不能那样子整体对二维数组赋值
[解决办法]
楼主认真看下数组部分,貌似数组初始化需要在定义的时候进行。
如:
int a[2][3]={{1,2,3},{4,5,6}},b[3][2];
这种格式经vs2010测试可以通过.