#include intmy_atoi(const char *str){ int result; char sign; for (; str && isspace(*str); ++str) ; /* 跳过空白,换行,tab*/ if (!str) return 0; sign = *str == '+' || *str == '-' ? *str++ : '+'; /* 处理符号 */ for (result = 0; str && isdigit(*str); ++str) /*转换有效部分 */ result = result * 10 + *str - '0'; /* FIXME: 没有考虑溢出 */ return (sign == '+' ? result : -result);}
#include intmy_atoi(const char *str){ int result; char sign; for (; str && isspace(*str); ++str) ; /* 跳过空白,换行,tab*/ if (!str) return 0; sign = *str == '+' || *str == '-' ? *str++ : '+'; /* 处理符号 */ for (result = 0; str && isdigit(*str); ++str) /*转换有效部分 */ result = result * 10 + *str - '0'; /* FIXME: 没有考虑溢出 */ return (sign == '+' ? result : -result);}