无法为数组指定值

时间:2011-11-16 17:32:33

标签: c arrays file-io

看看这段代码.. 在这里我从文件中获取输入并分配给数组 sudoku [] [] ..同时将这些值分配给 TempArr [] [] (另一个数组) ..

但是当我在分配后检查TempArr [] []的值时,与sudoku [] []中的值不同。

for (i=0;i<size;i++)
{
    for (j=0;j<size;j++)
    {
        if(fscanf(ip_file,"%d",&sudoku[i][j])==1)
        {         
                  //copy to TempArr
                  TempArr[i][j]==sudoku[i][j];
        }
        else
        {
            perror ("fscanf failed on input file.\n");
            // return error
        }
    }
}

所以,当我用“TempArr [] []”替换“sudoku [] []”时,它正在工作.. 即,if(fscanf(ip_file,"%d",&TempArr[i][j])==1)

为什么会发生这种情况?如何处理这种情况?

2 个答案:

答案 0 :(得分:5)

TempArr[i][j]==sudoku[i][j];

请参阅==?那不会分配;)

编辑:另外值得注意的是 - 编译器可以帮助您完成这些工作。如果您在编译时使用-Wall选项,它会告诉您:

  

&GT; gcc -Wall -o test test.c
  test.c:13:9:warning:声明无效[-Wunused-value]

您可以指定一些有用的警告级别来提醒您这些事情:

http://gcc.gnu.org/onlinedocs/gcc/Warning-Options.html

答案 1 :(得分:1)

呃,==不是作业,而是对平等的考验。