#include <stdio.h>
#include <stdlib.h>
#define size 4
int main(void)
{
char a[size] [size];
int i, j,u=0,n=0;
for(i=0;i<=size-1; i++)
{
for(j=0;j<=size-1;j++)
{
a[i] [j]= '*';
printf(" %c",a[i] [j]);
}
printf("\n");
}
printf("\n\n");
srand(time(NULL)) ;
for(;;)
{
printf("enter some thing\n");
a[rand()%size][rand()%size]=getchar();
for(i=0;i<=size-1; i++)
{
if (u==size)
break;
for(j=0;j<=size-1;j++)
{
if (a[i] [j] =='\0')
a[i] [j] ='*';
printf(" %c",a[i] [j]);
}
printf("\n");
u++;
}
n++;
if (n==2)
{
u=0;
n=0;
}
printf("\n\n");
}
return 0;
}
我对此代码的问题是:阵列丢失了内容,因为它被填满而留下空白区域。而且它的安排也发生了变化..我不知道为什么我的程序或编译器表现得像这样我甚至不知道在哪里问题来自。更糟糕的是,这种行为是不可预测的。下面是我试图说的屏幕截图
我希望有人告诉我为什么它表现得像这样,并且还得到一些解决方案来克服这个问题。
感谢您的回答。