0
我是新与C++和我心中已经编写这个程序:错误时打印字符数组,而不指数CPP
#include <iostream>
#include <string>
using namespace std;
void main() {
char s[2] = { 'a', 'l' };
cout << s << endl;
}
当我运行此代码,我得到这样的错误输出:
al╠╠╠╠╠╠H²O
为什么?因为当我学习C++时,当我打印字符数组时,我会看到数组元素,比如字符串。
's'不是零终止。当传递给'cout'时,它会衰变成一个'char *',一个C风格的字符串。它需要零终止,因为没有附加长度信息。 – IInspectable