And now
int guess[] = {};
Since you didn't provide an explicit size, the compiler counted the number of initializers you provided, and came up with 0. So, that statement is EXACTLY the same as
int guess[0];
which anyone can see creates a completely useless array.