直接用强制类型转换就行了比如 char c ='0x04'; int i =(int)c;
C之中可以将一个char直接赋值给一个int变量,char c='a'; int b = c; //这样就可以的,b的值为97了,即'a'的ascii码值 你如果要输出一个char的整数形式,可以用%d char c='a'; printf("%d", c); 输出的结果就是: 97
自动进行隐式转换 char a='f'; int tmp=a;或者int tmp=(int)a; 这样就可以了
你好!就是用int类型存放char型的ASCII码.例如你说的char buf[128]="abc";int abc[128]; for(i=0;buf[i]!='\0';i++) abc[i]=buf[i]-NULL; 如有疑问,请追问.
int a='key'-'0' 将char 字符转换为 ASCII码 减去0的 ASCII码 它们的差值就是int 型的数值
内容为数字的char,包含0,1,2,3,4,5,6,7,8,9 共计10个字符.这十个字符在存为字符型时,其存储值为对应的ascii码,而这些ascii码是连续的,且按照其本身数字的大小来排列.这样就可以将字符值,减去起始ascii码值实现转为对应值的效果.设 int a; //转换的目标变量.char c = '7'; //要转换的字符.c = a - '0'; 这样得到的就是对应的值了,即c = 7.如果在文件中需要多次该操作,则可以定义一个带参宏,如下:#define chartonumber(x) (x-'0') 这样只需要调用 c = chartonumber(a); 即可实现效果.
char 占一个字节 int占四个字节 当int变量值 处于 -128到127之间时,int char可以直接互相赋值!
char a='a'; b=(int)a;
你是强制转换吗? 0x1032是16进制啊,10进制的数据总么会有0x呢? 如果你是进行的强制转换,那结果一定是错e68a843231313335323631343130323136353331333332633064的,因为字符和整数进行转换都是按ASCII编码进行转换的.
不需要,char本身就是int的一种特殊形式,你直接按%d就能输出