Писателя зовут Hans Christian. Передать это имя на русский язык можно разными способами. Раньше существовала традиция передавать на русский язык начальное h в именах собственных германских языков как г. Этим объясняются такие традиционные написания, как, например, Гейдельберг (не Хайдельберг), Гамбург (не Хамбург), Ганновер (не Ханновер), Гейне (не Хайне) и мн. др. По этой традиции иногда передавали имена собственные не только из германских языков, но отчасти даже французские и испанские, где это уже не имело никаких фонетических оснований. К слову, в ряде английских имен и названий такая передача сохранилась и до нашего времени (Гамильтон, Гайд-Парк, Герберт, Говард), однако сейчас она считается устаревшей и не применяется для вновь транскрибируемых имен. В настоящее время h германских языков передают, как правило, через русское х.
Поэтому традиционный для русской культуры вариант — Ганс Христиан Андерсен, в словарях собственных имен русского языка он дается на первом месте как предпочтительный. Вариант Ханс Кристиан Андерсен более новый, он тоже допустим.