i havent read through the code that closely (plus im not familiar with c really) so im not sure if there's errors in it but your code isn't structured very well. think about how hard it would be to modify to use a word different to "hi", or god forbid a word with more than 2 letters
a better way of structuring it is to loop over the string comparing each letter to the input you got then modifying the 'answer' string. you should put that inside another loop (while incorrect > 0) so you can support words longer than 2 letters easily
if you wanna prevent old letters from being reentered you should store them in a 'guesses' string (since you cant use arrays) and check it after getting the input