我目前正試圖弄清楚爲什麼我的程序輸出奇怪的字符。我希望它輸出我爲數組選擇的字符,我已經在代碼中顯示了這些字符。不過,我不想使用括號表示法。我只使用指針算術符號,這讓我很困惑。指針算術符號
有誰知道如何解決這個問題?非常感謝你,我感謝所有幫助
#include <iostream>
using namespace std;
int main(){
char *arr = new char[10];
*arr = 'A', 'K', 'U', 'E', 'B', 'Z', 'D', 'O', 'M', 'Q';
// Show arr;
for(int i = 0; i < 10; i++){
cout << *(arr +i) << endl;
}
delete[] arr;
}
您認爲這個說法是什麼意思? 「*'arr ='A','K','U','E','B','Z','D','O','M','Q'」 – OldProgrammer
因爲您分配了一個數組十個'char's,你初始化了第一個'char'值爲'Q',未能初始化剩餘的9個字符到任何東西,所以它們包含隨機垃圾,然後試圖打印1個字符q,再加上9個字符隨機垃圾。 –
@SamVarshavchik第一個元素設置爲「A」。 – melpomene