c语言把char转换成int

比如char型的(用getchar输入的)’0x04'怎么变成int型

第1个回答  2013-12-18
'0x04';确实不对,第一,用单引号,不是一个数组,说是字符串也不对,c里面字符串不用第一号。单引号只能用在一个字符的身上。

转化的话,其实连强制转都不用
char c = 'a';
int a = c;
或者你打印的时候用:printf("%d",c);
就直接是十进制数字了
第2个回答  2019-06-06
内容为数字的char,包含
0,1,2,3,4,5,6,7,8,9
共计10个字符。
这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列。
这样就可以将字符值,减去起始ascii码值实现转为对应值的效果。
第3个回答  2018-03-05
#include <stdio.h>

int main()
{
int i =0;
char n=NULL;
char str[10]={0};
while ( (n = getchar())!='\n')
{
str[i++] = n;
}
sprintf(str,"%d",&i);
printf("i[%d]\n",i);

return 0;
}
0x04
i[4]
Press any key to continue

第4个回答  推荐于2018-03-06
直接用强制类型转换就行了比如
char c ='0x04';
int i =(int)c;本回答被提问者和网友采纳
第5个回答  2013-12-18
getchar只接受一个字符,你还能输入0x04?
相似回答