发生访问冲突 为什么(◐‿◑)

#include <stdio.h>
int main()
{
int a[10] = { 0 }, m, n, x, j = 0, flag = 1, i;
printf("回文数有:");
for (x = 1; x <= 256; x++)
{
m = x * x;
if (m > 9)
{
for (i = 0; m > 0; i++)
{
n = m % 10;
a[i] = n;
m = (m - n) / 10;
j++;
}
for (i = 0; i <= j / 2; i++)
{
if (a[i] != a[j-1-i])
flag = 0;
}
if (flag == 1)
printf("%d", x);
}
}
}