程序代码:
int atoi(char s[]) { int i,n,sign; for(i=0;isspace(s[i]));i++) ; //跳过开头的空白,i到达第一个字符位置,如无空白也适用 sign=(s[i]=='-')?-1:1; //第一个字符处判断正负数 if(s[i]=='+'||s[i]=='-') i++; //若开头有+-号标记,i指向下一个字符 for(n=0;isdigit(s[i]);i++) n=10*n+(s[i]-'0'); //获取数字直到非数字字符处停止(例如,"12345dhf44889"返回的只能是12345),s[i]-'0'表示将一个数字字符变成数字 return sign*n; //加上正负号并返回数字 }
[此贴子已经被作者于2016-3-7 08:16编辑过]