本帖最后由 a4270 于 2019-12-4 14:18 编辑
x自动被赋值为字符0,十六进制为0x48
x自动被赋值为字符0,十六进制为0x48,不知道为什么-----------------------------------------------------------
2019.12.4
1
2
1.所以肯定U8赋初值是没有问题的,地址为0x8001BF2,把0x00存入R4
3
2.同样没有问题,所以在此之前的x的值都是正确的
4
3.同样没有问题,所以在此之前的x的值都是正确的
5
4.这个时候x的值变了‘9’,因为定义 char Read_CharBuffer[6][4];//字符串数组, 本来只能存4个字符,你却存了5个字符,所有多出来的字符便存在了其他地方,所以字符串便溢出到其他地方, x的值就变为了字符9.(至于会不会溢出到其他位置我就没深究过了,请大神们继续下一步讨论),所以关于存字符串时千万要小心字符的长度。 5. 修改为char Read_CharBuffer[6][5];后程序就变正常了。
6
(吐个槽:我编辑帖子的时候一直自动保存卡得要死,win10系统,没找到取消自动保存的按钮)
|