自己itoa函数,求改错,该如何解决
自己itoa函数,求改错
下面是我自己写的一个itoa函数,我用的是keil但我不知道怎样才能把数组p【】里的所有元素给一个uchar型指针变量(本人的想法不知道行不行),求好的方法,小弟已经黔驴技穷了,求指教!
char *itoa(int value,char *str,int redix)
{
uint j,k;
uchar *en;
uchar xdata p[30];
for(j=0;value!=0;j++)
{
p[j]=value%2;
value=value/2;
}
for(k=j-1;k>=0;j--)
{
*en=p[k];
}
sprintf(sumsz,"%.30s",*en);
return sumsz;
}
这里的sumsz也是一个uchar型数组
------解决方案--------------------
char *itoa(int value,char *str,int redix)
{
typedef unsigned char uchar;
typedef unsigned int uint;
int j,k;
uchar *en=(uchar *)str;
uchar p[30];
for(j=0;value!=0;j++)
{
p[j]=value%2;
value=value/2;
}
for(k=j-1;k>=0;j--)
{
*en++=p[k];
}
return str;
}
下面是我自己写的一个itoa函数,我用的是keil但我不知道怎样才能把数组p【】里的所有元素给一个uchar型指针变量(本人的想法不知道行不行),求好的方法,小弟已经黔驴技穷了,求指教!
char *itoa(int value,char *str,int redix)
{
uint j,k;
uchar *en;
uchar xdata p[30];
for(j=0;value!=0;j++)
{
p[j]=value%2;
value=value/2;
}
for(k=j-1;k>=0;j--)
{
*en=p[k];
}
sprintf(sumsz,"%.30s",*en);
return sumsz;
}
这里的sumsz也是一个uchar型数组
------解决方案--------------------
char *itoa(int value,char *str,int redix)
{
typedef unsigned char uchar;
typedef unsigned int uint;
int j,k;
uchar *en=(uchar *)str;
uchar p[30];
for(j=0;value!=0;j++)
{
p[j]=value%2;
value=value/2;
}
for(k=j-1;k>=0;j--)
{
*en++=p[k];
}
return str;
}