此代码适用于 n<20,但对于 n=40 会出现访问冲突错误: 此代码将随机填充 X 和 O。
int i=0,j=0;
int x=0,y=0;
int n=40;
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
arr[i][j]='O';
}
srand(clock());
for(i=0;i<n*n;i++)
{
x = rand()%n;
y = rand()%n;
if(arr[x][y] == 'O') arr[x][y]='X';
}
声明:
arr = (char**)malloc(n);
for(i=0;i<n;i++)
arr[i] = (char*)malloc(n);
最佳答案
改变
arr = (char**)malloc(n);
到
arr = (char**)malloc(n*sizeof(char*));
关于c++ - 随机填充二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8393049/