我用这个方法
void * col_check(void * params) {
parameters * data = (parameters *) params;
int startRow = data->row;
int startCol = data->col;
int *colm = malloc(9);
for (int i = startCol; i < 9; ++i) {
int col[10] = {0};
for (int j = startRow; j < 9; ++j) {
int val = data->arr1[j][i];
if (col[val] != 0) {
colm[i]=i;
}
else{
col[val] = 1;
}
}
}
return colm;
}
Run Code Online (Sandbox Code Playgroud)
我想将 colm 数组中的值传递给主程序。所以我使用以下几行来做到这一点。基本上 colm 数组存储的是 arr1 的列索引,根据数独规则这是无效的。(不重要)。
parameters * …Run Code Online (Sandbox Code Playgroud)