//反转字符串
char *reverse(char *s)
{
char temp;
char *p = s; //p指向s的头部
char *q = s; //q指向s的尾部
while(*q)
++q;
q--;
//交换移动指针,直到p和q交叉
while(q > p)
{
temp = *p;
*p++ = *q;
*q-- = temp;
}
return s;
}
/*
* 功能:整数转换为字符串
* char s[] 的作用是存储整数的每一位
*/
char *my_itoa(int n)
{
int i = 0,isNegative = 0;
static char s[100]; //必须为static变量,或者是全局变量
if((isNegative = n) < 0) //如果是负数,先转为正数
{
n = -n;
}
do //从各位开始变为字符,直到最高位,最后应该反转
{
s[i++] = n%10 + '0';
n = n/10;
}while(n > 0);
if(isNegative < 0) //如果是负数,补上负号
{
s[i++] = '-';
}
s[i] = '\0'; //最后加上字符串结束符
return reverse(s);
}
int main(int argc, const char * argv[]) {
char *string = my_itoa(12700);
printf("string:%s<%d>\r\n",string,strlen(string));
return 0;
}在单片机实现数字型转换为字符型(itoa函数的实现)
最新推荐文章于 2026-05-04 06:02:16 发布
本文介绍了两种实用的字符串操作方法:反转字符串和将整数转换为字符串。通过使用指针来实现高效的字符串反转,并详细解释了如何用C语言将整数转换成字符串的过程。
2819

被折叠的 条评论
为什么被折叠?



