#include <stdio.h>
void itoa(int ,char *);
void reverse(char *);
/*itoa 函数: 将数字转换成字符串并保存到S中*/
void itoa(int n, char s[])
{
int i,sign;
if((sign = n) < 0)
n = -n;
i = 0;
do
{
s[i++] = n % 10 + '0';
}while((n /= 10) > 0);
if(sign < 0)
s[i++] = '-';
s[i] = '\0';
reverse(s);
}
/*reverse 函数:字符串反转(指针方法不安全)*/
void reverse(char *s)
{
int len = strlen(s);
char *ptr1,*ptr2;
ptr1 = s;
ptr2 = s + len - 1;
while(ptr1 != ptr2)
{
char temp;
temp = *ptr1;
*ptr1 = *ptr2;
*ptr2 = temp;
ptr1++;
if(ptr1 == ptr2)
break;
else
ptr2--;
}
}
/*《The C programming language(second edition)》中实现int型转字符串练习*/
int main()
{ int a;
char s[20];
printf("please input a int :\n");
scanf("%d",&a);
itoa(a,s);
printf("The int is %s\n",s);
return 0;
}
C语言整数转字符串(itoa()函数)小练习
最新推荐文章于 2023-07-12 19:19:11 发布