atoi

简洁的atoi

 1 #include<ctype.h> //isspace and isdigit
 2 
 3 /* convert string to integer */
 4 int atoi(char s[])
 5 {
 6     int i,n,sign;
 7     for(i=0;isspace(s[i]);i++)//skip white space
 8         ;
 9     sign=(s[i]=='-')?-1:1;
10     if(s[i]=='+'||s[i]=='-')//skip sign
11         i++;
12     for(n=0;isdigit(s[i]);i++)
13     {
14         n=n*10+(s[i]-'0');
15     }
16     return sign*n;
17 
18 }

从中可以看出每一个for循环的条件测试并不需要判断s[i]!='\0'

原文地址:https://www.cnblogs.com/freewater/p/2892684.html