您的位置:首页 > 其它

atoi和itoa的实现

2011-09-19 16:25 417 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: