gpt4 book ai didi

c - 使用 uint8_t 数据的 int 类型矩阵在传递给函数时打印错误

转载 作者:行者123 更新时间:2023-11-30 16:16:42 24 4
gpt4 key购买 nike

好的,我得到了以下指针 sh 和矩阵阴影数组。

 uint8_t * sh;
int shadows[k][330][210];

我像这样填充阴影:

int rows = 165;
int cols - 105;
for(int i = 0; i < rows; i++){
for(int j = 0; j < cols; j++){
shadows[reached][i][j] = sh[index];
index++;
}
}

然后我可以像这样打印阴影[0]:

int i;
int j;
for (i=0; i<rows; i++){
for(j=0; j<cols; j++){
printf("%d ", shadows[0][i][j]);
}
printf("\n");
}

到目前为止一切正常。阴影[0]的打印看起来不错。然后我将此矩阵传递给如下函数:

separateMatrixByColumn(1, cols-1, rows, cols, shadows[0], v[0], g[0]);

在该函数内部,我做的第一件事是打印矩阵阴影:

void separateMatrixByColumn (size_t wanted_cols1, size_t wanted_cols2, size_t rows, size_t columns, int m[rows][columns], int answer1[rows][wanted_cols1], int answer2[rows][wanted_cols2]){

// this print looks bad. It adds several 0s to the matrix!
int k;
int l;
for (k=0; k<rows; k++){
for(l=0; l<columns; l++){
printf("%d ", m[k][l]);
}
printf("\n");
}

...

}

结果我的函数内部的打印看起来很糟糕。它在我的矩阵内显示了几个 0。为什么会发生这种情况?

最佳答案

我最终使用了额外的 amtrix

  int aux[rows][cols];
for (i=0; i<rows; i++){
for(j=0; j<cols; j++){
aux[i][j] = shadows[0][i][j];
}
}
separateMatrixByColumn(1, cols-1, rows, cols, aux, v[0], g[0]);

关于c - 使用 uint8_t 数据的 int 类型矩阵在传递给函数时打印错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56517241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com