C 二维阵列澄清

C 二维阵列澄清,c,multidimensional-array,C,Multidimensional Array,目前,我在让代码正常工作方面遇到了麻烦。在代码被分配一个新值到not插槽后,它会检查数独板,然后查看它的块是否仍然有效 目前,即使我输入了正确的输入,这段代码仍然告诉我我的块无效 tempsudoku板基本上是一个数独板,有一个表示空格的0随机槽。有人能看到我的代码是否有问题吗 int truefalse=1; printf("Enter a row (1-9), column (1-9) and number (1-9), separated by spaces: "); scanf("%d

目前,我在让代码正常工作方面遇到了麻烦。在代码被分配一个新值到not插槽后,它会检查数独板,然后查看它的块是否仍然有效

目前,即使我输入了正确的输入,这段代码仍然告诉我我的块无效

tempsudoku板基本上是一个数独板,有一个表示空格的0随机槽。有人能看到我的代码是否有问题吗

int truefalse=1;
printf("Enter a row (1-9), column (1-9) and number (1-9), separated by spaces: ");
scanf("%d %d %d", &row, &column, &number);

tempsudoku[row-1][column-1]=number;

for(i=0;i<=2;i++)
{
    for(j=0;j<=2;j++)
    {
        int check[9]={0};
        for(x=0;x<=(j*3)+2;x++)
        {
            for(y=0;y<=(i*3)+2;y++)
            {
                for(k=0;k<=8;k++)
                {
                    if(tempsudoku[x][y]==k+1)
                    {
                        check[k]++;
                    }
                }
            }
        }

        for(k=0;k<=8;k++)
        {
            if(check[k]>=2)
            {
                printf("Error: repeats in board\n");
                truefalse=0;//basically means  its false
            }
        }
    }
}
int truefalse=1;
printf(“输入行(1-9)、列(1-9)和数字(1-9),用空格分隔:”;
scanf(“%d%d%d”、&行、列和编号);
临时数独[第1行][第1列]=数字;

对于(i=0;i)您为什么不实际使用TRUE/FALSE而不是
truefalse=0
for(x=0;x<=(j*3)+2;x++){
   for(y=0;y<=(i*3)+2;y++){
for(x=3*j;x<=(j*3)+2;x++){
   for(y=i*3;y<=(i*3)+2;y++){
for(k=0;k<=8;k++){
    if(tempsudoku[x][y]==k+1){
        check[k]++;
    }
}
k = tempsudoku[x][y];
if (k >= 1)
    check[k-1]++;