0

所以我首先用 Java 制作了这个程序,然后我想用 C++ 制作同样的程序。虽然在 Java 中它在这里工作得很好,但我有一个主要问题。我为我的数组使用了一个 char 变量,在 C++ 中它粘贴了我假设的 ascii 代码(笑脸,菱形......)。所以这是一个井字游戏所以我希望我的程序显示这样的数字:1 2 3 4 5 6 7 8 9 在我插入 1 之后是这样的:X 2 3 4 5 6 7 8 9 如果我制作我得到的数组 Int 而不是 X 和 88。如果我把它变成 char 我可以把 X 和它显示正确但是 1-9 的数字是菱形等。请帮助我!谢谢你。

    char A[9]={1,2,3,4,5,6,7,8,9};
    for(int i = 0, j = 0; i < 9; ++i, ++j)
    {
         if(j==3)
         {
             j = 0;
             cout<<"\n";
         }
         cout<<A[i]<<"  ";            
    }
4

2 回答 2

1

这一行:

char A[9]={1,2,3,4,5,6,7,8,9};

应该:

char A[9]={'1','2','3','4','5','6','7','8','9'};

在第一个版本中,您正在做的是使用它们的 ascii 值创建一个字符数组(您可以在此处找到一个 ascii 表)。

于 2013-07-04T17:09:02.150 回答
1

operator<<默认情况下, for a的重载char打印一个字符,而不是存储的整数值。要让它打印一个整数,你可以强制转换它:

std::cout << static_cast<int>(A[1]) << ' ';

或者,您可以使用int数组。

于 2013-07-04T17:09:16.260 回答