关于C语言中的int类型转成char类型
直接进行强制类型转换,使用printf输出占位符为%c,如果这个int数刚好为0,输出就成了空格。
方法
char InttoChar(int x){
char r=(char)x+'0';
return r;
}
//下面的代码是16进制转二进制的函数
void main(){
int number,i,num1,num2;
unsigned char pt[9];
printf("\nplease input hex(16) num: ");
scanf("%x",&number);
num1 = number / 16;
num2 = number % 16;
pt[0]= InttoChar(num1/8);
num1 %= 8;
pt[1]= InttoChar(num1/4);
num1 %= 4;
pt[2]= InttoChar(num1/2);
num1 %= 2;
pt[3]= InttoChar(num1);
pt[4]= InttoChar(num2/8);
num2 %= 8;
pt[5]= InttoChar(num2/4);
num2 %= 4;
pt[6]= InttoChar(num2/2);
num2 %= 2;
pt[7]= InttoChar(num2);
for(i=0;i<9;i++){
printf("%c",pt[i]);
}
}