visual studio에선 실행이되는데
심사문제에서는 실행이 안된다고 하여 문제가 무엇인지 궁금합니다!ㅎ
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
int main()
{
int row, col;
scanf("%d %d", &row, &col);
char** array = malloc(sizeof(char*) * row);
for (int i = 0; i < row; i++)
{
array[i] = malloc(sizeof(char) * (col + 1));
}
for (int i = 0; i < row; i++)
{
scanf("%s", array[i]);
}
for (int i = 0; i <= row; i++)
{
for (int j = 0; j < col; j++)
{
if (array[i][j] == '*')
printf("*");
else if (array[i][j] == '.')
{
int boomCheck = 0;
for (int y = i - 1; y <= i + 1; y++)
{
for (int x = j - 1; x <= j + 1; x++)
{
if (y < 0 || x < 0 || y >= row || x >= col + 1)
continue;
else if (array[y][x] == '*')
boomCheck++;
}
}
printf("%d", boomCheck);
boomCheck = 0;
}
}
printf("\n");
}
for (int i = 0; i < row; i++)
{
free(array[i]);
}
free(array);
return 0;
}
디버깅 하다가 예외 발생 처리가 있었네요
예를 들어 row = 3 / col = 3을 입력했을때
for (int i = 0; i <= row; i++) // 이부분이
row 값이 3이되어버려서
array[0], array[1], array[2] 밖에 없는걸 array[3] 을 읽게 만들었으니
처리되지 않는 예외로 넣은것 같은데.
제가 말하는게 맞나요 ??