將整數轉換爲相應的一個字符數組。
分析:從個位提取數字,組合字符
符號位的處理 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);
}
結果如圖,輸入要轉化的整數