为能在一行显示下来,我把空格省了:
long strtol(const char *s){
long r = 0;
for (int i=0, a=((s[0]=='-')?s[++i]:s[0])-'0';(s[i]>='0')&&(s[i]<='9');r*=10,r+=a,a=(s[++i]-'0'));
return (s[0] == '-')?-r:r;
}
long strtol(const char *s){
long r = 0;
for (int i = 0, a = ((s[0] == '-')?s[++i]:s[0]) - '0'; (s[i] >= '0') && (s[i] <='9'); r *= 10, r += a, a = (s[++i] - '0'));
return (s[0] == '-')?-r:r;
}