发布网友 发布时间:2022-04-22 04:38
共5个回答
热心网友 时间:2023-10-13 19:36
使用itoa函数。
原型:extern char *itoa(int i);
参考代码:
#include<stdio.h>
#include<stdlib.h>
int main()
{
int a=125;
char b[50];
printf("%s\n",itoa(a,b,10));//把10进制的125转成字符并输出。
return 0;
}
/*
扩展资料:
注意事项
itoa() 函数有3个参数:第一个参数是要转换的数字,第二个参数是要写入转换结果的目标字符串,第三个参数是转移数字时所用的基数(进制)。在上例中,转换基数为10,就意味着以10为转换进制。10:十进制;2:二进制。
itoa 并不是一个标准的C函数,它是Windows特有的,如果要写跨平台的程序,请用sprintf。
标准库中有sprintf,功能比这个更强,用法跟printf类似:
参考资料来源:百度百科-itoa函数
热心网友 时间:2023-10-13 19:36
共用体里,一个整型,等长的字符数组
热心网友 时间:2023-10-13 19:37
一楼是个好办法。不过还有更简单的--强制转换。(char)()括号里加要转换的就行
热心网友 时间:2023-10-13 19:37
{
char s[30] = {0}; /*这里的30,通常来说够一个整数的长了,不够自己改*/
char s2[30] = {0};
int i = 0;
int number;
int cnt = 0;
int tmp = 0;
number = xxxxxx; /* 你要转的数,如果是函数,可以作为传入数 */
for(i=0;i<30;i++) {
tmp = number - (number / 10) * 10;/* 取最后一位数字 */
s2[i] = (char)(tmp + 30); /* 字符0对应的ASCII值为30,类推 */
number /= 10;
cnt++;
if(number == 0) break;
}
for(i=cnt-1; i>=0; i--) {
s[i] = s2[cnt-i-1]; /* 转向 */
}
printf(s);
printf("\n");
}
热心网友 时间:2023-10-13 19:38
char a[100];
a=b+'0';