C语言中int型怎么转化为char[]?例如:int a=1000; 怎么让 char[]="10000"?

如题所述

按位取出,然后把每一位的数字转化成字符放入字符数组中啊。说下思路吧:
将整数按位取出,方法是循环取余:
int aInt = 10000;
char arr[5] = {0};
int i = 0;
while(aInt > 0)
{
arr[4-i] = aInt % 10 + '0';
aInt /= 10;
i++;
}
这就可以了,我这些代码是没有扩展性的,只是给你提一下思路,也不建议这么写代码,但是你看懂了上面这些代码也就能知道怎么做了。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-10
这里以四位数为例,仅提供思路。

#include<stdio.h>
void main(){
int a = 4234;
char num_arr[4];//

int num0 = a / 1000 ;//取千位上的数
int num1 = a / 100 % 10 ; //取百位上的数
int num2 = a / 10 % 10;//取十位上的数
int num3 = a % 10;//取个位上的数

num_arr[0] = num0+48;
num_arr[1] = num1+48;

num_arr[2] = num2+48;

num_arr[3] = num3+48;

printf("%c",num_arr[0]);
printf("%c",num_arr[1]);
printf("%c",num_arr[2]);
printf("%c",num_arr[3]);

}本回答被提问者和网友采纳
第2个回答  2013-03-10
itoa()可以,你可以上网查用法,也可以自己写一个小程序,还有一种方法:
sprintf(ch,"%d",a);即可,在#include<stdio.h>中,详细可以查sprintf()函数
第3个回答  2013-03-10
#include <stdlib.h>
#include <stdio.h>
int main()
{
int i,number = 123456;
char string[8];
itoa(number, string, 10);
for(i=0;i<8;i++)
printf("%c",string[i]);

}
函数atoi。功能:把一整数转换为字符串。
原理在参考资料

参考资料:http://baike.baidu.com/view/982195.htm

第4个回答  2013-03-10
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void main()
{
int a=1000;
char b[10];
itoa(a, b, 10);
printf("%s\n",b);
}
相似回答