어디서 버퍼 오버플로우가 나는지 알수 있을까요?
조회수 533회
#include <iostream>
#include <stdio.h>
#include <string.h>
// codeup NO.1098
using namespace std;
int main()
{
int h = 0, w = 0;
scanf("%d %d", &h, &w);
int** b = new int* [h + 1];
for (int i = 0; i < h + 1; i++)
{
b[i] = new int[w + 1];
memset(b[i], 0, sizeof(int) * (h + 1));
}
/*
for (int i = 1; i < h + 1; i++)
{
for (int j = 1; j < w + 1; j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}
*/
int n = 0; // 막대 몇개넣을건지 결정할 변수
scanf("%d", &n);
while (n > 0)
{
int L = 0, d = 0, x = 0, y = 0;
scanf("%d %d %d %d", &L, &d, &x, &y);
if (d == 0)
{
for (int i = 1; i <= L; i++)
{
b[x][y] = 1;
y++;
}
}
else if (d == 1)
{
for (int i = 1; i <= L; i++)
{
b[x][y] = 1;
x++;
}
}
n--;
}
for (int i = 1; i < h+1; i++)
{
for (int j = 1; j < w+1; j++)
{
printf("%d ", b[i][j]);
}
printf("\n");
}
for (int i = 0; i < h + 1; i++)
{
delete[] b[i];
}
delete[] b;
return 0;
}
비쥬얼스튜디오에선 문제없이 돌아가지만 막상 코드업에 넣으면 안돌아가는것 같습니다 ㅇㅅㅇ...
Main: malloc.c:2394: sysmalloc: Assertion `(old_top == initial_top (av) && old_size == 0) || ((unsigned long) (old_size) >= MINSIZE && prev_inuse (old_top) && ((unsigned long) old_end & (pagesize - 1)) == 0)' failed.
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력