首页 > 解决方案 > 创建一个游戏板

问题描述

电路板尺寸已输入,如果用户输入:

row = 4
columns = 3

我已经编写了代码,但我只能让板子显示:

...
...
...
...
Board* createBoard(int rows, int cols) {
    Board *board = malloc(sizeof(Board));

    board->contents = malloc(sizeof(char*) * rows);
    for (int i = 0 ; i < rows ; ++i) {
        board->contents[i] = malloc(sizeof(char) * (cols+2));
        memset(board->contents[i], '.', cols);
        board->contents[i][cols] = '\n';
        board->contents[i][cols+1] = '\0';
    }
    board->rows = rows;
    board->cols = cols;
    return board;
}

void show_Board(Board *board) {
    int j = 0;
    for (int i = 0 ; i < board->rows; ++i) {
        fprintf(stdout,"%s",board->contents[i]);
    }
}

int main () {
    Board *board = malloc(sizeof(Board));
    board = createBoard(4,3);
    show_Board(board);
}

用户输入后的棋盘格式。

......
......
......
......

因此,不是每列只显示一个字符,在这种情况下是点(。),我需要像上面一样每列显示两个字符。

标签: cc99

解决方案


推荐阅读