读书人

关于类型转换解决思路

发布时间: 2012-03-09 16:54:57 作者: rapoo

关于类型转换
main(){
char a[1]={ '3 '};
int b;
b=(int)a[0];
printf( "%d ",b);
}
为什么会输出51??我想要的结果是整型的3

[解决办法]
51是“3”的ASCII的值,用十六进制表示的话就是0x33,当然0x31 就是1。
[解决办法]
输出的是 '3 '的ASCII码
还要减去 '0 '的ASCII码才能得到3

读书人网 >C语言

热点推荐