Cреда dev-cpp
/*K&R. Упражнение 2.3. Напишите функцию htoi(s), которая преобразует строку шестнадцатеричных цифр (учитывая необязательные элементы 0х или 0Х) в ее целочисленный эквивалент. В число допустимых цифр входят десятичные цифры от 0 до 9, а также буквы a-f и A-F.
*/
код
При MAXLEN 2 массив s[MAXLEN] должен состоять из 3-х элементов: s[0], s[1], s[2].
символом '\0' закрываю строку
При вводе 123, 1234, в элемент s[2] не записывается '\0', а записывается '3', что видно по преобразованию в 291.
скриншот
При MAXLEN 3, 4, 5 и т. д.
программа работает как положено.
Это баг/фича компилятора mingw или какая-то особенность языка C?