1 #include <stdlib.h> 2 #include <ctype.h> 3 atoi(const char * s)4int atoi(const char *s) 5 { 6 int n=0, neg=0; 7 while (isspace(*s)) s++; 8 switch (*s) { 9 case '-': neg=1; 10 case '+': s++; 11 } 12 /* Compute n as a negative number to avoid overflow on INT_MIN */ 13 while (isdigit(*s)) 14 n = 10*n - (*s++ - '0'); 15 return neg ? n : -n; 16 } 17