保存为字符串元素,然后打印字符串出错原因

来源:互联网 发布:四川人怎么样知乎 编辑:程序博客网 时间:2024/06/05 20:46


要把变量保存为字符串数组中的元素,一定要转换成二进制的形式,因为字符串数组中的元素是以二进制形式保存的。
示例代码如下:
unsigned char tempt[10];
unsigned int a = 325;//32.5*10后的结果
tempt[0] = ‘W’;
tempt[1] = ‘E’;
tempt[2] = ‘N’;
tempt[3] = ‘D’;
tempt[4] = ‘U’;
tempt[5] = a/100;
tempt[6] = a/10%10;
tempt[7] = ‘.’;
tempt[8] = xs=a%10;
tempt[9] = ‘\0’;
printf(“tempt is: %s\n”,tempt);
//打印结果”WENDU . “tempt[5] 、tempt[6] 、 tempt[8]都会无法显示。
原因:字符数组中的元素是以二进制的形式保存的,所以要保把元素保存进字符串数组中去的时候,切记要转换成为二进制的。
把上面代码的
tempt[5] = a/100;
tempt[6] = a/10%10;
tempt[8] = xs=a%10;
改为
tempt[5] = a/100+0x30;
tempt[6] = a/10%10+0x30;
tempt[8] = xs=a%10+0x30;
或者改为
tempt[5] = a/100+’0’;
tempt[6] = a/10%10+’0’;
tempt[8] = xs=a%10+’0’;
打印结果就可以正常显示“WENDU32.5”

“`

0 0
原创粉丝点击