C 将矩阵的每一行复制到临时数组

C 将矩阵的每一行复制到临时数组,c,arrays,matrix,C,Arrays,Matrix,我想将500x8矩阵的一行(每个团队迭代一行)复制到名为实际_row的临时数组中。这就是我尝试过的 int matrix[500][8]; // this has been already filled by int's int actual_row[8]; for(int i = 0; i < 500; i++) { for(int j = 0; j < 8; j++) { actual_row[j] = matrix[i][j]; p

我想将500x8
矩阵的一行(每个团队迭代一行)复制到名为
实际_row
的临时数组中。这就是我尝试过的

int matrix[500][8]; // this has been already filled by int's
int actual_row[8];
for(int i = 0; i < 500; i++) {
     for(int j = 0; j < 8; j++) {
         actual_row[j] = matrix[i][j];
         printf("The row is: ");
         for(int q = 0; q < 8; q++) {
                 printf(" %d ",actual_row[q]);
         // do other stuff
         }
      }
printf("\n");
}
int矩阵[500][8];//这已经由int公司填写
int实际_行[8];
对于(int i=0;i<500;i++){
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“行为:”);
对于(int q=0;q<8;q++){
printf(“%d”,实际行[q]);
//做其他事情
}
}
printf(“\n”);
}
这不是打印行,而是打印0和1的某个时间,所以我有点做错了。

提前感谢。

您的逻辑有点不正确(不需要第三个嵌套循环)。您需要将该行复制到
actual_row
(您这样做了),并在同一循环中打印内容:

 printf("The row is: ");
 for(int j = 0; j < 8; j++) {
     actual_row[j] = matrix[i][j];         
     printf(" %d ",actual_row[j]);
     // do other stuff
 }
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}

您的逻辑稍微不正确(不需要第三个嵌套循环)。您需要将该行复制到
actual_row
(您这样做了),并在同一循环中打印内容:

 printf("The row is: ");
 for(int j = 0; j < 8; j++) {
     actual_row[j] = matrix[i][j];         
     printf(" %d ",actual_row[j]);
     // do other stuff
 }
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}

在未完全填充前,不要打印实际行:

 for(int j = 0; j < 8; j++) {
     actual_row[j] = matrix[i][j];
 }

 printf("The row is: ");
 for(int q = 0; q < 8; q++) {
      printf(" %d ",actual_row[q]);
      ...
 }
for(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
}
printf(“行为:”);
对于(int q=0;q<8;q++){
printf(“%d”,实际行[q]);
...
}

在未完全填充前,不要打印实际行:

 for(int j = 0; j < 8; j++) {
     actual_row[j] = matrix[i][j];
 }

 printf("The row is: ");
 for(int q = 0; q < 8; q++) {
      printf(" %d ",actual_row[q]);
      ...
 }
for(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
}
printf(“行为:”);
对于(int q=0;q<8;q++){
printf(“%d”,实际行[q]);
...
}

您的逻辑有点不正确。您需要将该行复制到实际行,然后打印内容。此外,为什么不在将矩阵行复制到
实际行
时只打印内容呢

printf("The row is: ");
for(int j = 0; j < 8; j++) {
    actual_row[j] = matrix[i][j];         
    printf(" %d ",actual_row[j]);
    // do other stuff
}
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}
因此,您的代码片段应该如下所示:

int matrix[500][8]; // this has been already filled by int's
int actual_row[8];
for(int i = 0; i < 500; i++) {
    printf("The row is: ");
    for(int j = 0; j < 8; j++) {
        actual_row[j] = matrix[i][j];         
        printf(" %d ",actual_row[j]);
       // do other stuff
    }
    // <--at this point, actual_row fully contains your row
 printf("\n");
}
int矩阵[500][8];//这已经由int公司填写
int实际_行[8];
对于(int i=0;i<500;i++){
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}

//您的逻辑有点不正确。您需要将行复制到
实际行
,然后打印内容。此外,为什么不在将矩阵行复制到
实际行
时只打印内容呢:

printf("The row is: ");
for(int j = 0; j < 8; j++) {
    actual_row[j] = matrix[i][j];         
    printf(" %d ",actual_row[j]);
    // do other stuff
}
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}
因此,您的代码片段应该如下所示:

int matrix[500][8]; // this has been already filled by int's
int actual_row[8];
for(int i = 0; i < 500; i++) {
    printf("The row is: ");
    for(int j = 0; j < 8; j++) {
        actual_row[j] = matrix[i][j];         
        printf(" %d ",actual_row[j]);
       // do other stuff
    }
    // <--at this point, actual_row fully contains your row
 printf("\n");
}
int矩阵[500][8];//这已经由int的
int实际_行[8];
对于(int i=0;i<500;i++){
printf(“行为:”);
对于(int j=0;j<8;j++){
实际_行[j]=矩阵[i][j];
printf(“%d”,实际第[j]行);
//做其他事情
}
//