谢谢,大家的方法都不错,不过有个问题……
比如我的CHAR字符是1,转化到INT字符是49,
难道强行INT的结果是ASCII不成?
我现在只能又加了一条“INT-48”,有更好的方法么?
參考答案:不是强行INT的结果是ASCII,字符在C语言里边是用ASCII存储的,字符1也就是'1','1'是一个整数常量,它的值等于49。强制类型转换并没有改变char的值。
char c;
c='1';
int a;
a=(int)(c-48);
如果确定字符里边是数字,这样是可以的,不过更直观的写法是:
a=c-'0';//这句话和a=c-48完全一样,因为'0'等于48