-1

我收到一条错误消息:线程停止......在 0x6 处的访问冲突:读取地址 0x6。但是我的代码没有这样的地址。

    #include<stdio.h>
    #include<conio.h>
    void main ()
    {
     int i,j,A[4][5],c=0;
     for(j=0;j<5;j++)
      for(i=0;j<4;i++)
       {
        A[i][j]=c;
        c++;
       }
     for(i=0;i<4;i++)
      {
       for(j=0;j<5;j++)
        printf("%d\t",A[i][j]);
       printf("\n");
      }
     getch();
    }

我被要求逐列而不是逐行输入双数组,我想验证我的方法,所以我尝试将其打印出来但没有运气。

4

1 回答 1

10
  for(i=0;j<4;i++)
          ^^

这不应该是:

  for(i=0;i<4;i++)

j<4一旦它第一次进入循环内部,它总是正确的,并且是内存访问冲突的原因。

于 2013-01-26T18:23:35.993 回答