挑战面试编程:字符串转换为整数
将类似这样的字符串,"abc123abc"转换为整数,即为123。若是"abc",则直接输出0。
本题看似很简单,但有些地方还得注意:
- 字符串中可能带有符号,如'+' '-',这得考虑。
- 该整数位可能很长,所以必须能够处理溢出的情况:对于过大的,输出MAX_INT;对于过小的,输出MIN_INT。
代码
int StrToInt(char* str)
{
static int MAX_INT = (int)((unsigned)~0 >> 1);
static int MIN_INT = -(int)((unsigned)~0 >> 1) - 1;
if (NULL