我正在嘗試創建一個網格,例如4行和4列。網格的尺寸爲n * n尺寸。我已經嘗試了下面這段代碼,它僅適用於3行,因爲我試圖打印4 * 4網格。但最後一個網格(第4個是這種情況)從不打印。我的意思是一旦打印第三個網格,循環就會退出。如果有人幫我弄清楚爲什麼只有3行4列,而不是4行4列?以下是我迄今爲止嘗試過,使用n * n指定尺寸的打印網格
void main()
{
int n, i, j;
scanf("%d", &n);
char grid[n][n];
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
scanf("%c", &grid[i][j]);
}
}
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
if (grid[i][j] == '9')
printf("X");
else
printf("%c", grid[i][j]);
}
}
}
可能因爲'scanf(「%c」,...)'也會讀取'newline'字符。 –
@WeatherVane,這應該是一個答案 – StoryTeller
或者'scanf(「%d」,n)'將會讀取多於一位的數字 – Tibrogargan