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;


}

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值