有时候运行一次能够正常显示 但是正常运行过一次之后运行窗口就又是黑屏了,而且后续用DEV编新程序之后运行,又显示异常,这是为什么呢?希望有人能帮我解答一下!!
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
int i,j,k,l;
char a[10][10],ch='A';
for (i=0;i<10;i++){
for (j=0;j<10;j++){
a[i][j]='.';
}
}
srand((unsigned)time(NULL));
k=rand();
l=k % 4;
a[0][0]=ch;
i=0;
j=0;
while (!(a[i-1][j]!='.'&&a[i][j-1]!='.'&&a[i+1][j]!='.'&&a[i][j+1]!='.')){
k=rand() % 4;
l=k % 4;
switch (l){
case 0:if (i - 1>0&&a[i-1][j]=='.'&&ch+1<='Z'){
i=i - 1;
ch+=1;
a[i][j]=ch;
break;
}
else
break;
case 1:if (j - 1>0&&a[i][j-1]=='.'&&ch+1<='Z'){
j=j - 1;
ch+=1;
a[i][j]=ch;
break;
}
else
break;
case 2:if (i + 1<10&&a[i+1][j]=='.'&&ch+1<='Z'){
i=i + 1;
ch+=1;
a[i][j]=ch;
break;
}
else
break;
case 3:if (j + 1<10&&a[i][j+1]=='.'&&ch+1<='Z'){
j=j + 1;
ch+=1;
a[i][j]=ch;
break;
}
else
break;
}}
for (i=0;i<10;i++){
for (j=0;j<=10;j++){
if (j==10)
printf("\n");
else
printf("%c",a[i][j]);
}
}
return 0;
}