atoiv2#
atoiv2.c
/* Ex5.6 */
#include <stdio.h>
#include <ctype.h>
int atoiv2(char *);
int main(void) {
char *s = "1234";
int ret;
ret = atoiv2(s);
printf("%d", ret);
return 0;
}
int atoiv2(char *s) {
int n, sign;
for (; isspace(*s); s++) /* skip white space */
;
sign = (*s == '-') ? -1 : 1;
if (*s == '+' || *s == '-')
s++;
for (n = 0; isdigit(*s); s++)
n = 10 * n + *s - '0';
return sign * n;
}