#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main()
{
int m, n;
scanf("%d %d", &m, &n);
char** matrix = malloc(sizeof(char *) * m);
for (int i = 0; i < m; i++)
{
matrix[i] = malloc(sizeof(char) * (n + 1));
}
for (int i = 0; i < m; i++)
{
memset(matrix[i], 0, sizeof(char) * (n + 1));
}
for (int i = 0; i < m; i++)
{
scanf("%s", matrix[i]);
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (matrix[i][j] = '*')
continue;
matrix[i][j] = 0;
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
if (matrix[i][j] == '*')
{
for (int x = i - 1; x <= i + 1; x++)
{
for (int y = j - 1; y <= j + 1; y++)
{
if (matrix[x][y] == matrix[i][j] || x < 0 || y < 0 || x >= m || y >= n)
continue;
matrix[x][y] += 1;
}
}
}
}
}
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
printf("%c", matrix[i][j]);
}
printf("\n");
}
for (int i = 0; i < m; i++)
{
free(matrix[i]);
}
free(matrix);
return 0;
}
컴파일 에러는 나지 않는데 실행이 안돼요..
왜 그런지 알 수 있을까요?
포럼 상단 오른쪽에 38.8로 검색하면 이전 질문과 답변을 볼 수 있습니다.
UNIT 6을 학습해서 디버거 사용법을 익히고, F11로 단계별로 실행해서 변숫값을 살펴보세요.
입력 값
3 3
...
...
..*
가장 기초적인 입력 값에 대해 동작을 확인하세요.