挑战面试编程:字符串转换为整数
将类似这样的字符串,"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 == str) return 0;
while (isspace(*str)) str++;
int res, n, sign;
res = 0, sign = 1;
if ('+'

本文介绍如何将包含符号的字符串转换为整数,例如将'abc123abc'转化为123,'abc'转化为0。在实现过程中需要注意处理正负号以及防止整数溢出,对于超出范围的数值,应返回最大或最小整数值。
最低0.47元/天 解锁文章
559

被折叠的 条评论
为什么被折叠?



