需要左值:c中的错误

时间:2014-03-18 02:47:27

标签: c lvalue

if(puzzle[i][j] >= '0' && puzzle[i][j] <= '8' && puzzle[i][j] = '.')

我有那个代码,当我编译它时,它会得到Lvalue所需的错误。救命。谢谢! 这是完整的代码。我要做的是用指南检查用户的输入:
1)输入应为0到8和'。' 2)在桌子的角落(因为它是一个2d阵列,它应该小于3.

int main()
{
char puzzle[7][7];
int i;
int j;

printf("Enter your Tentaizu Puzzle:\n");

for(i = 0; i < 7; i++){
  for(j = 0; j <7; j++){
    scanf("%s", &puzzle[i][j]);
    }
}
if(puzzle[i][j] >= '0' && puzzle[i][j] <= '8' && puzzle[i][j] == '.'){
    if((puzzle[0][0] <= '3' && puzzle[0][6] <= '3') || (puzzle[6][0] <='3' &&  puzzle[6][6] <= '3')){
    printf("Tentaizu Puzzle\n");
     for(i = 0; i < 7; i++){
        for(j = 0; j <7; j++){
                printf("%s\n", puzzle[i][j]);
            }
        }
  }
}


getch();
}

1 个答案:

答案 0 :(得分:1)

您输入的=代表==。因此,C正在尝试将'.'分配给puzzle[i][j] >= '0' && puzzle[i][j] <= '8' && puzzle[i][j]的结果 - 并且您无法为(布尔值,在本例中为)值赋值。