Trước khi sử dụng các hàm gets và scanf với một chuỗi hoặc ký tự, hãy tiến hành xóa vùng đệm trước. Điều đó có nghĩa là bạn hãy đặt trước mỗi hàm đó một hàm fflush(stdin); thì sẽ đạt kết quả tốt hơn!
Một điều nữa là bạn không nên sử dụng hàm gets để lấy chuỗi.
Chúc may mắn!