c++ - 为什么我的数组没有更新?

标签 c++

所以我正在尝试制作地牢爬行游戏(基本上是 10x10 map ),当我创建 map (板)并更改元素时,它不会在我更新时打印。我没有发现我的代码有任何问题,而且我无处可去 :(

#include <iostream>
#include "ChadDung.h"
using namespace std;

int createBoard();
int updateBoard();
int clear();
char board[10][10];
int xp = 10;
int yp = 4;

int main() {

    createBoard();
    board[xp][yp] = 'G';
    clear();
    updateBoard();

}

int createBoard(){
    for (int x = 0; x < 10; x++){

        for (int y = 0; y < 10; y++){
            board[x][y] = '.';
            cout << board[x][y];
        }
        cout << endl;
    }
}


int updateBoard(){
    for (int x = 0; x < 10; x++){

        for (int y = 0; y < 10; y++){
            cout << board[x][y];
        }
        cout << endl;
    }
}


int clear(){
    cout << string( 25, '\n' );
}

底行应该有一个“G”,但它只显示“…………”

最佳答案

字符板[10][10];

xp = 10;

board[xp][yp] = 'G';

当您设置“G”时,您已经超出了数组的末尾(有效索引为 0-9),因此您会遇到未定义的行为。

关于c++ - 为什么我的数组没有更新?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29956905/

相关文章:

C++0x Lambda 开销

c++ - 在 C++17 中获取以毫秒为单位的时间?

c++ - 为什么对箭头 (->) 运算符的调用会失败?

c++ - C++ 和 C 中指针和数组的区别

c++ - 在 SDL2 和 C++ 中编码图像和改变颜色

c++ - 模板:SFINAE 特化未得到应用

c++ - 常量在这里真的合适吗,还是有另一种方法? - C++

c++ - 为 32 位 Windows (C++) 编译

c++ - Stringstream 在一行中双输出最后一个字符串?

c++ - 统一2字节为Int