c语言 这个程序是怎么了?

来源:百度知道 编辑:UC知道 时间:2024/05/26 16:37:34
运行提示:内存不能为read
实在不懂
求教
#include<stdio.h>
void main()
{
int b[3][2],j,k;
int a[2][3]={{1,2,3},{4,5,6}};
for(j=1;j<3;j++)
for(k=1;k<4;k++)
{
b[j][k]=a[k][j];
printf("%d\t",&b[j][k]);
}
}

//是因为你越界了,程序我帮你修改过了,编译通过

#include<stdio.h>
void main()
{
int b[3][2],j,k;
int a[2][3]={{1,2,3},{4,5,6}};
for(j=0;j<2;j++) //这里
for(k=0;k<3;k++) //这里,越界了
{
b[k][j]=a[j][k];
printf("%d\t",b[k][j]); //这里输出,不要用&.
}
}

c的下标都是从0开始的,所以

for(j=1;j<3;j++)
for(k=1;k<4;k++)

要改成

for(j=0;j<2;j++)
for(k=0;k<3;k++)