Я не понял задачу. Преобразовать char* в int, при условии что в char* шестнадцатиричное представление числа? Тогда sscanf (c89), strtol (c99) или написать эти пять строчек кода руками.
топик стартер «ленив» - так что исходный сырец отличная пища для изучения языка при доказыванию преподователю что указаный сырец делает ровно то что задано.