atol的写法

/************************************************************************/
/* 下面这个是unix v7中atol的源代码(没有利用其它函数),这种代码风格才是我们
应该追求的,简洁明快.包括人家变量的定义类型,switch语句的巧妙运用,都是值得
我们真正学习的.                     */
/************************************************************************/
long atol(char *p)
{
 assert(p && *p);
 long n;
 register int f;
 n = 0;
 f = 0;
 for(;;p++) {
  switch(*p)
  {
  case ' ':
  case '/t':
   continue;
  case '-':
   f++;
  case '+':
   p++;
  }
  break;
 }
 while(*p >= '0' && *p <= '9')
  n = n*10 + *p++ - '0';
 return(f? -n: n);
}

你可能感兴趣的:(unix)