itoa代码详解

定义1:

inline char *itoa(int n, char *s)

{

char *sa=s, *p=s+1, t;

n>0 ? p--,n=-n : (*s++="0-"[n<0]);

n = -n;

while (n) {

*s++ = n%10+'0';

n /= 10;

}

*s-- = 0;

//逆向输出字符

while (p<s) {

t = *p;

*p++ = *s;

*s-- = t;

}

return sa;

}

另外一种表述:

char* itoa(int n,char* s)
{
char* ps;
ps=s;
if (n>0)
{
if (n<10)
*ps=n+'0';

if ((n>=10)&&(n<=100))
{
*(++ps)=n%10+'0';
n=n/10;
*(--ps)=n+'0';
}


while (n>0)
{
*(ps)=n%10+'0';
n=n/10;

}

}
++ps;
*(++ps)='/0';

return ps;


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值