我被這個難住了。我正在粘貼下面的程序。相同的代碼給C不同的輸出
void printGrid(int n,char grid[n][n]){
for(int i = 0; i<n ; i ++) {
printf("\n%s",grid[i]);
}
}
int main() {
char grid[6][6]= {"-----","-----","-----","-----","-----"};
printGrid(5, grid);
for(int i = 0; i<5 ; i ++) {
printf("\n%s",grid[i]);
}
return 0;
}
輸出:
-----
-
--
---
-----
-----
-----
-----
-----
爲什麼同樣for
循環產生外部和功能printGrid
內不同的輸出?
關鍵字:二維數組不是雙指針。 – 2013-03-20 11:53:16
請注意,「----- \ 0」實際上是7個字節(每個字符串文字會自動添加'\ 0')。另外,'grid'數組是'6x6',你告訴'printGrid','grid'是'5x5',這是完全不同的。 – 2013-03-20 11:54:53
H2CO3詳細說明? Kiril是的,我知道我只是把那裏想到的其他東西。 – 2013-03-20 11:56:08