上篇文章介绍了itoa函数的实现,今天来说说atoi函数,主要思路是:将字符串从头开始读取,跳过最前面的空格以及其他无用字符;遇到正负号,做标记;之后的字符串,遇到数字则转换,遇到其他字符则直接跳出。好了,贴下代码:
1 int atoi(char str[]) 2 { 3 int flag=0; 4 int num=0; 5 int i=0; 6 while(str[i]==' '||str[i]==' ') //判断字符串开头是否为制表符或者空格 7 { 8 i++; 9 } 10 while(str[i]=='-'||str[i]=='+') //判断字符串数字的正负 11 { 12 if(str[i]=='-') 13 { 14 flag=1; //为负的则标记 15 } 16 i++; 17 } 18 while(str[i]!='