显示数组的元素时出错

Error when displaying the elements of an array

本文关键字:出错 元素 数组 显示      更新时间:2023-10-16
int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};
for (int b=0;b<=9;b++) {
     cout << path[b];
}

当我试着运行它来显示一条水平线时,它只显示了很多9和5。但是如果我运行这个

for (int b=0;b<=9;b++) {
     cout << '_';
}

它似乎完成了任务。我知道我可以只使用第二部分代码,但我需要使用数组来显示它。

pathint的数组,当打印出其元素时,将打印出int值(即'_'的ascii码95(。如果你想把它打印成char,你应该把的声明改成

int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};

char path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};

在第一个示例中,您将path声明为int的数组,std::cout将其解释为int(_的ASCII代码为95(。要使其工作,您需要将声明更改为:

int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};

在第二个示例中,您将输出'_'std::cout,这是一种char类型,并按预期显示。