int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};
for (int b=0;b<=9;b++) {
cout << path[b];
}
当我尝试运行它以显示水平线时,它只显示了很多9和5。但是,如果我运行这个
for (int b=0;b<=9;b++) {
cout << '_';
}
似乎做了这项工作。我知道我可以使用第二批代码,但我需要使用数组显示它。
答案 0 :(得分:3)
path
是int
的数组,当您打印出其元素时,int
值(即95
的ascii代码'_'
)将是打印出来。如果您希望将其打印为char
,则应从
int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};
到
char path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};
答案 1 :(得分:1)
在第一个示例中,您将path
声明为int
的数组,它由std::cout
解释为类似于int(_
的ASCII代码为95)。要使其工作,您需要将声明更改为:
int path[10]={'_', '_', '_', '_', '_', '_', '_', '_', '_', '_'};
在第二个示例中,您将'_'
输出到std::cout
,这是char
类型,并按预期显示。