|
下了库函数的源码,写下,再对比下……
int atoi(const char *s)
{
// 你的算法
}
可接受字符:+ - 0~9
第一个不可认知的字符起或到结尾(也就是\0,同样是不可认识的字符)返回
第一个字符就是不可认识的字符时,返回0
大家写一下,看谁有最好的。
- int atoi(const char *s)
- {
- int flag=1;/*正负*/
- int ret=0;
- int i=1;
- if(s[0]!='-' && s[0]!='+' && s[0]<'0' && s[0]>'9')return ret;/*非法字符,退出*/
- if(s[0]=='-')
- {
- flag=-1;
- }else if(s[0]!='+')
- {
- ret=s[0]-48;
- }
- while(s[i]>='0' && s[i]<='9')
- {
- ret*=10;ret+=s[i]-48;
- i++;
- }
- return ret*flag;
- }
复制代码
下载标准库函数源代码可以以以下关键 字GOOGLE一下avr-libc-1.4.3
[ 本帖最后由 iptton 于 2006-7-27 19:47 编辑 ] |
|