1.字符串转数字:
理想情况下我们希望的字符串就是“514”或者是“383842389”反正就都是数字,这种情况下怎么来写呢?假如是字符串“514”,正序把他输出变成数字514,定义一个变量,在第一个数字时乘10+加下一个数字以此类推,变量初始值为0,0乘10加5等于5,str++,5在再乘10加1等于51,str++,51乘10加4即514,以此类推。要说明的是:我们还要减去字符零
int Myatoi(const char *str)
{
int tmp=0;
while(*str!='\0')
{
tmp=tmp*10+*str-'0';
str++;
}
return tmp;
}
int main()
{
printf("%d\n",Myatoi("514"));
return 0;
}
可事实我们不会总是遇见这种字符串我们还会遇见“ 514”,“51#4”,“-514”等等,那我们就要把考虑的都要加进去了。
#include <stdio.h>
#include <assert.h>
#include <ctype.h>
int Myatoi(const char *str)
{
assert(str != NULL);
if(str == NULL)
{
return 0;
}
while(*str==' ') 11
{