Обратите внимание на несоответствие между этими значениями:
int xstrlen(char string);
и это:
int xstrlen(char string[])
Они должны совпадать (и последний является правильным). Если вы хотите получить действительно точную информацию, вероятно, это должно быть char const *string
, означающее, что эта функция не будет изменять то, что ей передано.
Когда вы закончите с этим, выполните экзорцизм в своем коде, исключив его использование gets
, а затем навсегда исключите эту грязь из своего словаря, чтобы вы не стали агентом зла! : -)