两位字符数组如何转化为一位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;
楼主试试