C ++ Array在数字前打印零,不打印9

时间:2016-12-05 03:41:17

标签: c++ arrays

我正在尝试制作一个tic tac toe board但我有两个问题。 (对不起,如果这个问题的格式不好,这是我第一次在这里提问)

#include <iostream>
#include <iomanip>
#include <cctype>
#include <fstream>
#include <cstdlib>
using namespace std;

一个问题(下面的数组声明)是程序运行时(如最底部所示),最后一个数字(9)不打印它只是空白。如果我用另一个数字替换9(例如,5),它就像其他数字一样打印出来。我无法弄清楚为什么它不会打印数字9

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

int row;
int column;

void display_board();

int main()
{
   display_board();

   return 0;
}

void display_board()
{
   for (row = 0; row < 3; row++)
   {
      for (column = 0; column < 3; column++)
      {
         cout << board[row][column];
      }
      cout << "\n";
   }
}

另一个问题是程序运行时(如下所示),它会在每个数字前打印三个零。我只想要1-9而不是三个零。我无法弄清楚为什么这三个零都在那里,更不用说摆脱它们了。感谢您的所有帮助。

Program Run

2 个答案:

答案 0 :(得分:0)

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

有乐趣编码,并尝试在途中阅读一些书籍

答案 1 :(得分:0)

感谢大家的帮助。

确实可以通过将数组声明中的数字放在单引号中或通过将数组本身更改为int来解决问题。愚蠢的错误对我而言。再次感谢。