我是C ++的新手,我写这个程序:
#include <iostream>
#include <string>
using namespace std;
void main() {
char s[2] = { 'a', 'l' };
cout << s << endl;
}
当我运行此代码时,我得到错误的输出:
al╠╠╠╠╠╠H²O
为什么呢?因为当我学习C ++时,我会在打印字符数组时读到,我会看到像字符串一样的数组元素。
答案 0 :(得分:1)
你的char数组不是零终止,std :: cout不知道你的字符串结束的位置。
你需要这样做:
char s[3] = { 'a', 'l', '\0'};