字符串转数字

2017/03/31
http://www.cnblogs.com/bluestorm/p/3168719.html
C语言中定义了这一系列的函数(atoi,atof什么的)。
遇到这个问题之后,如果自己实现的话,首先想到的居然是用堆栈。
这不就复杂了吗!?(不过也没有办法,的确第一想法就是这个)


#include 
#include 
int atoi (char s[]);
int main(void )
{
  char s[100];
  gets(s);
  printf("integer=%d\n",atoi(s));
  return 0;
}
 int atoi (char s[])
{
  int i,n,sign;
  for(i=0;isspace(s[i]);i++)//跳过空白符;
  sign=(s[i]=='-')?-1:1;
  if(s[i]=='+'||s[i]==' -')//跳过符号
    i++;
  for(n=0;isdigit(s[i]);i++)
         n=10*n+(s[i]-'0');//将数字字符转换成整形数字
  return sign *n;
}

所以这也是个尴尬的问题- -。


2018/08/13
如此看来,C语言的标准库真的是一个非常好的东西。毕竟经历了全世界那么多人的考验,这个东西还是值得信任的。

你可能感兴趣的:(字符串转数字)