你数组越界了,你从0开始,减1的时候当然会访问到负数数组啦,不就错了吗@[胡迪](/space/show?uid=122449)
by BCZSX @ 2018-12-20 21:36:53
@[StudyingFather](/space/show?uid=22030)
你确定scanf不行???
那我这个是什么??
```
#include<stdio.h>
#include<string.h>
int main()
{int a,b,c,d,e[1000][1000];
char f[1000][1000];
scanf("%d%d",&a,&b);
for(c=1;c<a+1;c++)
scanf("%s",f[c]);
for(c=1;c<a+1;c++)
{for(d=0;d<b;d++)
{if(f[c][d]=='*')
{e[c-1][d-1]++;
e[c-1][d]++;
e[c-1][d+1]++;
e[c][d-1]++;
e[c][d+1]++;
e[c+1][d-1]++;
e[c+1][d]++;
e[c+1][d+1]++;}}}
for(c=1;c<a+1;c++){
for(d=0;d<b;d++){
if(f[c][d]=='*')
printf("*");
else
printf("%d",e[c][d]);}
puts("");}
return 0;}
```
by wwz20050323 @ 2018-12-20 21:37:20
你的数组还是改成从1开始吧
by BCZSX @ 2018-12-20 21:37:35
你的100分?@[wwz20050323](/space/show?uid=42422)
by BCZSX @ 2018-12-20 21:38:33
https://www.luogu.org/record/show?rid=14846529
by wwz20050323 @ 2018-12-20 21:39:06
@[BCZSX](/space/show?uid=126669)
by wwz20050323 @ 2018-12-20 21:39:09
为什么你访问了负数数组没错?真奇怪@[wwz20050323](/space/show?uid=42422)
by BCZSX @ 2018-12-20 21:39:55
@[BCZSX](/space/show?uid=126669)
C语言特性,访问负数时自动视为无效不予处理,跳过而不会出错(理论上来说c++也应该是)
by wwz20050323 @ 2018-12-20 21:43:52
我刚也在编译器上测试了一下,c++也不会出错@[wwz20050323](/space/show?uid=42422)
by BCZSX @ 2018-12-20 21:45:35
@[胡迪](/space/show?uid=122449) char 改全局变量
by lhjy666 @ 2018-12-20 21:54:25