C++2D数组空白输出

C++ 2D array blank output

本文关键字:输出 空白 数组 C++2D      更新时间:2023-10-16

我试图输出一个带有边框的2D数组,但由于一些奇怪的原因,我没有得到任何输出,只有一个空格。我很确定问题出在if语句中,但我不确定哪里出了问题。

#include <iostream>
#include "windows.h"
using namespace std;
//prototypes
void DisplayMap();
void SetBorder();
//global vars
const int H = 70;
const int W = 40;
char Map[H][W];
int main()
{
    //system("cls");
    DisplayMap();
    SetBorder();
    return 0;
}
void SetBorder(){
for(int i = 0; i < H; i++ ){
    for(int j = 0; j < W; j++){
        if(i == 0 || i == 69 || j == 0 || j == 39 ){ Map[i][j] = 'x';}
            // else Map[i][j] = ' ';
        }
    }
}

void DisplayMap(){
for(int i = 0; i < H; i++ ){
    for(int j = 0; j < W; j++){
            cout << Map[i][j];
        }
            cout << "n";
    }

}
SetBorder();
DisplayMap();

交换函数调用。您想先设置边界字符,然后显示地图。

您需要先填充Map,然后显示它:

int main()
{
    //system("cls");
    SetBorder();
    DisplayMap();

    return 0;
}