将整数转换为相应的一个字符数组。
分析:从个位提取数字,组合字符
符号位的处理 12345=>”12345”
// author:yangyang
//main.c
#include "stdafx.h"
#include "math.h"
char string[20];//存放字符
char *pstring = string;//指向字符的指针
void tostring(long int a);
int main()
{
long int a = 0;
scanf_s("%ld",&a);
tostring(a);
return 0;
}
void tostring(long int a)
{
int num=0;//存放位数
for (int i = 0;; i++)//判断整数有几个位数
{
long int tmp = a / pow(10, i);
if (tmp == 0)
{
num = i;
printf("该整数有%d位\n", num);
break;
}
}
for(int i = 0; i < num; i++)//将整数一次输入到数组中,最后一位以星号结尾
{
long int number = a / (int)(pow(10, i));//移位
int number_final = number % 10;//个位
*(string + num-i-1) = number_final + 48;//转化为字符
}
printf("转化为字符串输出为:");
puts(string);
}
结果如图,输入要转化的整数