atoi和itoa的实现

来源:互联网 发布:贴吧 回复淘宝链接 编辑:程序博客网 时间:2024/06/05 09:38

atoi

int atoi(char* in){    int sign=1;    if(*in == '-')        sign=-1;    int sum=0;    in++;    while(*in!='\0')    {        sum=sum*10+(*in-'0');        in++;    }    return sum*sign;}

itoa

void itoaa(int value, char* str){    if(value<0)    {        str[0]='-';        value=value*-1;    }    int j=1;    for(int i=value; i>0; i/=10, j++)    {        int n=i%10;        str[j]=n+'0';    }    str[j]='\0';    j--;    int n=j/2;    for(int i=1; i<=n; i++, j--)    {        str[i]=str[i]^str[j];        str[j]=str[i]^str[j];        str[i]=str[i]^str[j];    }}

扩展问题:

不借助额外空间交换两个变量的值

A^=B^=A^=B


原创粉丝点击