这是一个类,所以它必须使用递归,我已经迭代地编写了一个工作代码,但我无法让它在递归中工作,我真的迷路了。我已经为此工作了一周。任何指导或建议都会非常有帮助。
这是我的功能,我需要将十六进制作为字符指针并输出它对应的十进制。我经常遇到堆栈溢出或内存分配运行时错误,任何人都可以找出问题所在并引导我朝着正确的方向前进吗?
int hexToDecimal(const char *hex, int offset, int power){
if(offset >= 0){
hexChar = *(hex+offset);
if( isalpha(hexChar) ) {
hexChar = toupper(hexChar);
hexNum = hexChar - asciiCharOffset;
} else {
hexNum = hexChar - asciiIntOffset;
}
return hexToDecimal(hex, offset--, power++) + hexNum * (int)pow(16,power);
} else {
return 0;
}
}