私はこれに困惑しています。以下のプログラムを貼り付けています。
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
ですか?