没有索引cpp的print char数组时出错

时间:2016-02-13 22:55:18

标签: c++ arrays visual-studio

我是C ++的新手,我写这个程序:

#include <iostream>
#include <string>

using namespace std;

void main() {
    char s[2] = { 'a', 'l' };
    cout << s << endl;
}

当我运行此代码时,我得到错误的输出:

al╠╠╠╠╠╠H²O

为什么呢?因为当我学习C ++时,我会在打印字符数组时读到,我会看到像字符串一样的数组元素。

1 个答案:

答案 0 :(得分:1)

你的char数组不是零终止,std :: cout不知道你的字符串结束的位置。

你需要这样做:

char s[3] = { 'a', 'l', '\0'};