由于数组越界,出现了RE。由于忘了在有的行尾加空格,WA了,于是把数组直接全部初始化成空格字符。唉……
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
char map[105][105];
int main(void)
{
memset(map,' ',sizeof(map));
int j = 104,i = 0,max = 0;
char ch;
while ((int)(ch = getchar()) != EOF)
{
if(ch == '/n')
{
j--;
i = 0;
}
else
{
map[i][j] = ch;
i++;
}
if(max < i) max = i;
}
int k ;
for(i = 0 ;i < max; i++)
{
for(k=j+1;k< 105;k++)
{
printf("%c",map[i][k]);
}
printf("/n");
}
return 0;
}
修复数组越界与初始化问题
本文记录了一次编程过程中因数组越界导致运行时错误(RE)的问题,并分享了解决方案:通过初始化数组为空格字符避免了边界问题,同时解决了因忘记在某些行尾添加空格而引发的错误。
76

被折叠的 条评论
为什么被折叠?



