#include <stdio.h>
//atoi 函数
int atoi_test(char array[])
{
int count=0,sum=0,flag;
while((array[count]==' ')||(array[count]=='\t'))
{
count++;
}
flag=('-'==array[count])?-1:1; //判断是否为负数;
if(('-'==array[count])||('+'==array[count]))
{
count++;
}
while(array[count]!='\0')
{
sum=array[count]-'0'+sum*10;
count++;
}
return flag*sum;
}
//itoa函数
void itoa_test(int num,char *array)
{
int flag=num,i=0,j=0;
char temp[11];
if(flag==0) //分为=0,<0的情况 把<0转化为>0 来一起转化
{
array="0";
return;
}
if(flag<0)
{
num=-num;
}
do
{
temp[i]=num%10+'0';
num/=10;
i++;
}while(num>0);
if(flag<0)
{
temp[i++]='-';
}
temp[i]='\0';
i--;
while(i>=0)
{
array[j]=temp[i];
j++;
i--;
}
array[j]='\0';
}
int main(void)
{
char a[10]="123213151";
int temp=atoi_test(a);
char s[10];
itoa_test(temp,s);
printf("%d\n",temp);
printf("%s\n",s);
}