在单片机实现数字型转换为字符型(itoa函数的实现)

2019-04-15 12:45发布

//反转字符串 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] = '