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