1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
int
atoi (const char *str)
{				//异常时返回零,觉得不是很合适,但又没想到什么好的方法,标准函数也是这么定义的
    if (str == NULL)		//指针为空
	return 0;
    int flag = 1;		//定义符号位
    if (*str == '-')		//取符号位,下同
      {
	  flag = -1;
	  str++;
      }
    else if (*str == '+')
      {
	  str++;
      }
    int result = 0;		//保存迭代结果
    while (*str)		//迭代,算法很简单
      {
	  if (*str > '9' || *str < '0')	//处理异常
	      return 0;
	  result = result * 10 + (*str++ - '0');
      }
    return result * flag;	//确定符号并返回
}
Tags: .
你好!除了代码,此处没有多少原创之物,皆为本人搜集、整理、总结之记录与心得,欢迎转载分享!转载时请尽量注明出处,将不胜感激。祝你健康、快乐!
Home