在C++中,我試圖創建字符串數組。同時,我想訪問字符並改變它們像這樣:C++字符串數組和訪問字符
#include<iostream>
using namespace std;
int main(){
int n;
cin >> n;
char lines[4][n+1];
int color = 0;
for(int a = 0; a < n; a++){
for(int i = 0; i < 4; i++){
lines[i][a] = (char) (color % 25 + 97);
if(i == 1 || i == 3){
color++;
}
}
}
cout << lines[0] << endl << lines[1] << endl << lines[2] << endl << lines[3];
return 0;
}
時,我想它打印所有的「行[I]」似乎有一些未知字符。
預期:
交流勵磁發電機
交流勵磁發電機
bdfh
bdfh
輸出:(http://i.stack.imgur.com/SR4Y4.png)
aceg'aceg■bdfh
交流勵磁發電機■bdfh
bdfh
bdfh
你知道原因嗎? (我檢查了我的整個代碼多次,它導致我不知道我認爲的字符數組陣列)
有沒有其他方法可以做到這一點? (如果可能的話沒有用C喜歡它的庫)
編輯
我說我所有的代碼此消息。
您需要了解「想要打印」的內容。 –
字符串以null結尾... –
歡迎來到Stack Overflow。請儘快閱讀[關於]頁面。請說明如何打印陣列。除非你做了一些你沒有看到的東西,把它們打印出來就好像它們是字符串一樣,會顯示出你看到的那種行爲。既然你不顯示任何代碼改變'顏色',你應該在每個單元格中獲得相同的值(''a'')。當你忽略代碼的關鍵部分時,人們會感到沮喪 - 缺少代碼時很難幫助你。請閱讀如何創建SSCCE([簡短,獨立,正確的示例](http://sscce.org/))。 'n'的價值是什麼? –