字符串数组的输出问题
代码有如下声明:
char** carNo;
carNo = new char*[size];
for (int i = 0; i < size; i++)
carNo[i] = new char[8];
输出部分:
cout << "\n停车场:\n" << "-------------\n";
for (int i = 0; i < top; i++)
cout << "| " << carNo[i] << " |\n";
cout << "-------------";
我在DOS里输入的车牌号是不同的三个号:ABCDEFGH 12345678 AABBCCDD
然后我好想知道为什么输出结果会是这样= =
首先是输出的三个车牌号居然都是最后一次输入的值……之前的两个都没保留,DEBUG没找出原因。
其次是输出车牌号后居然还自带一个笑脸??我以为这是结束符……要怎样才能不输出这个东西呢?
[解决办法]
输入车牌号至少应该比carNo[i]容量少一个位置,因为这个位置是结尾的。