如何将char变量与另一个char变量进行比较?

时间:2011-04-05 00:58:35

标签: c variables char compare

我正在C中完成一项家庭作业,我们需要制作一个可以在两个玩家之间玩的井字游戏。我的所有代码都在这一点上工作,除了检查找到胜利者的功能。这是我测试过的游戏结果的一个例子:

  0 1 2
0  |x| 
  -----
1  |o| 
  -----
2  |x| 
Congratulations to player 1!  You won!

我说,不。不,球员1肯定没赢。我的检查是(原谅我)一系列嵌套的if语句,如:

...
else if (gameboard[0][1] != ' ')
    if (gameboard[1][1] == gameboard[0][1])
        if(gameboard[2][1] == gameboard[1][1])
            return 1;
...

gameboard [0] [1]是'x'值,但比较表明gameboard [1] [1]等于它。为什么会发生这种情况?如何解决?

1 个答案:

答案 0 :(得分:1)

您的游戏板的设置可能与您的想法不同。

#include <stdio.h>

int main()
{
    char gameboard[3][3] =
    { {' ', 'x', ' '},
      {' ', 'o', ' '},
      {' ', 'x', ' '}
    };

    if (gameboard[0][0] == ' ')
    {
        printf("0,0 is empty\n");
    }

    if (gameboard[0][1] != ' ')
    {
        printf("0,1 has %c\n", gameboard[0][1]);
    }

    if (gameboard[1][1] == gameboard[0][1])
    {
        printf("1,1 equals 0,1\n");
    }
    else
    {
        printf("1,1 is different from 0,1\n");
    }    
}

<强>输出:

0,0 is empty
0,1 has x
1,1 is different from 0,1