读书人

两位字符数组怎么转化为一位10进制字符

发布时间: 2012-11-05 09:35:12 作者: rapoo

两位字符数组如何转化为一位10进制字符
char temp[2]={2,0};
unsigned char tempch;
tempch=(unsigned char)atoi(temp);
printf("tempch %d\n",tempch);
结果打印出来为202,而我想要打印出来的为20;不知为什么?求指导
我是要把6个字符组成的字符数组两位合一位存在unsigned char型的3位数组下

[解决办法]
char temp[ 3 ] = { '2', '0', '\0' };

楼主欠缺字符与字符串的基础知识,建议复习
[解决办法]
atoi的参数是字符串.
而数组:
char temp[2]={2,0};
表示的字符串是:
数值2表示的一个不可见字符 + '\0'结束符.
[解决办法]
atoi(temp);
[解决办法]
int b = atoi(temp);
char c = b;
楼主试试

读书人网 >C++

热点推荐