-2
我收到了關於問題10189上的UVa判斷的運行時錯誤。我嘗試過很難,但我一直無法找到錯誤的原因。 在這個問題上,我們應該找到一個掃雷艦field.Here提示矩陣是我的代碼:UVa判斷運行時錯誤
#include <stdio.h>
int main() {
char ch;
int row, col, i, j, ans[101][101];
int tot = 0;
scanf("%d %d", &row, &col);
while (row != 0) {
tot++;
for (i = 1; i <= row; i++) {
scanf("\n");
for (j = 1; j <= col; j++) {
ch = getchar();
if (ch == '*') {
ans[i][j] = 1;
} else {
ans[i][j] = 0;
}
}
}
for (i = 0; i <= row + 1; i++) {
ans[i][0] = 0;
ans[i][col+1] = 0;
}
for (j = 0; j <= col + 1; j++) {
ans[0][j] = 0;
ans[row+1][j] = 0;
}
printf("Field #%d\n", tot);
for (i = 1; i <= row; i++) {
for (j = 1; j <= col; j++) {
if (ans[i][j] == 1)
printf("*");
else {
printf("%d", ans[i-1][j-1] + ans[i-1][j] + ans[i-1][j+1] +
ans[i][j-1] + ans[i][j+1] +
ans[i+1][j-1] + ans[i+1][j] + ans[i+1][j+1]);
}
}
printf("\n");
}
printf("\n");
scanf("\n%d %d", &row, &col);
}
return 0;
}
@EugeneSh。不,我很抱歉。我錯誤地點擊了帖子按鈕。 – arl
你正在越過數組邊界。 –