大佬来看一下我这个代码哪里错了???
#include<iostream>
#include<string.h>
using namespace std;
int n,m,sum = 0;
int a[100][100];
char s[100];
int main(){
scanf("%d%d",&n,&m);
memset(a,0,sizeof(a));
for (int j = 1;j <= n;j++){
scanf("%s",s + 1);
for (int k = 1;k <= m;k++)
a[j][k] = s[k];
}
for (int i = 1;i <= n;i++)
for (int j = 1;j <= m;j++)
if (a[i][j] == '?'){
if (a[i - 1][j] == '*')
sum++;
if (a[i + 1][j] == '*')
sum++;
if (a[i][j + 1] == '*')
sum++;
if (a[i][j - 1] == '*')
sum++;
if (a[i + 1][j + 1] == '*')
sum++;
if (a[i - 1][j - 1] == '*')
sum++;
if (a[i - 1][j + 1] == '*')
sum++;
if (a[i + 1][j - 1] == '*')
sum++;
a[i][j] = sum;
sum = 0;
}
for (int j = 1;j <= n;j++){
for (int k = 1;k <= m;k++)
if (a[j][k] == '*')
printf("*");
else
printf("%d",a[j][k]);
puts("");
}
return 0;
}