我想用1和0填充网格.由于随机变量r,我的程序崩溃了.它与常数完全一致(例如:比如说r = 8).我用过srand(time(NULL));
void initGrid(int grid[GRID_HEIGHT][GRID_WIDTH])
{
int i,j,r;
for(i=0;i<GRID_HEIGHT;i++)
{
r = rand()%10;
for(j=0;j<GRID_WIDTH;j++)
{
grid[i][j]= (i*j+i+j)%(r)<=2?1:0;
}
}
}
Run Code Online (Sandbox Code Playgroud)
您有一个"除以0"错误.
r = rand()%10;
Run Code Online (Sandbox Code Playgroud)
给出的范围r作为0..9这样使用0的模量(i*j+i+j)%(r)导致错误.
我建议你用
r = 1 + rand()%10;
Run Code Online (Sandbox Code Playgroud)