64,282
社区成员
发帖
与我相关
我的任务
分享
char * itoaTest(int num)
{
char *index="0123456789";
char *str=new char[16];
int unum;
int i=0,j,k=0;
char ch;
if(num<0)
{
str[i++]='-';
num=-num;
k=1;
}
else
unum=num;
do
{
str[i++]=index[unum%10];
unum/=10;
}while(unum!=0);
str[i]='\0';
str+=k;
for(j=0;j<(i-k)/2;i++)
{
ch=str[j];
str[j]=str[i-j-1];
str[i-j-1]=ch;
}
str-=k;
return str;
}
#include <stdio.h>
#include <malloc.h>
char * itoaTest(int num)
{
char *a=(char*)malloc(32);
int count=0,temp,flag=0;
if (num<0)
{
num=-num;
*a='-';
flag=1;
count++;
}
temp=num;
while (temp)
{
temp/=10;
count++;
}
*(a+count)='\0';
while (flag?count-1:count)
{
*(a+(--count))='0'+num%10;
num/=10;
}
return a;
}
int main()
{
char *a;
a=itoaTest(-123456);
printf("%s",a);
free(a);
getchar();
}
#include <stdio.h>
char * itoaTest(int num,char *a)
{
int count=0;
int temp=num;
while (temp)
{
temp/=10;
count++;
}
*(a+count)='\0';
while (count>0)
{
*(a+(--count))='0'+num%10;
num/=10;
}
return a;
}
int main()
{
char a[20];
itoaTest(123456,a);
printf("%s",a);
getchar();
}