C++ C++;二维阵列空白输出

C++ C++;二维阵列空白输出,c++,arrays,C++,Arrays,我试图输出一个有边框的二维数组,但由于一些奇怪的原因,我没有得到任何输出,只有一个空格。我很确定问题出在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

我试图输出一个有边框的二维数组,但由于一些奇怪的原因,我没有得到任何输出,只有一个空格。我很确定问题出在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";
    }


}
#包括
#包括“windows.h”
使用名称空间std;
//原型
void DisplayMap();
无效订单();
//全局变量
常数int H=70;
常数int W=40;
字符映射[H][W];
int main()
{
//系统(“cls”);
DisplayMap();
订单号();
返回0;
}
无效订单(){
对于(int i=0;i

交换函数调用。您要先设置边界字符,然后显示映射。

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

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


    return 0;
}

您需要先填充
地图
,然后再显示它:

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


    return 0;
}