why does this make [xsize-2][ysize] AND [xsize-1][0] TRUE?
I think because you equal line 38 to 1. Not sure about that but 1 is supposed to be true and 0 false in boolean language. Can help more if I knew what you were after.
darkmaster that works fine, I'm having trouble changing two locations in the array to TRUE.
mouseisland[xsize][1] = 1; // <--- this part works fine
mouseisland[xsize-2][ysize] = 1; //why does this make [xsize-2][ysize] AND [xsize-1][0] TRUE?!?!?!?!!?!?!?
@Darkmaster: TC is probably using an older compiler that accepts the nonstandard typeless main().
@TC: I'd therefore recommend either updating your compiler or switching to something more recent.
As for your question: mouseisland[7][9] and [8][0] are the same location. Each row has only 9 elements (ranging from [7][0] to [7][8]), so [7][9] is one past the end of that row. That happens to overflow into the next row.