scanf()
читает именно то, о чём вы его просили, оставив следующий \n
с конца этой строки в буфере, где fgets()
прочитает его. Либо сделайте что-нибудь, чтобы использовать новую строку, или (мое предпочтительное решение) fgets()
, а затем sscanf()
из этой строки.