Source code for init:
void init(void)
{
int k=(d*d)-1;
for(int row=0; row<d; row++){
for(int col=0; col<d; col++){
board[row][col]=k;
if((d%2==0)&&(k==3)){
k=1;
}
else if((d%2==0)&&(k==1)){
k=2;
}
else{k--;}
}
}
}
Error only in expected "0" character 7 of line 4, not "1" :( init initializes 4x4 board correctly )
I put a check in the draw() function.
void draw(void)
{
blank =0;
for(int i=0; i<d; i++){
for(int j=0; j<d; j++){
if((i==c)&&(j==r)){
printf("%2i ", blank);
}
else{
printf("%2i ", board[i][j]);
}
}
printf("\n");
}
}