![]() 试一下效果 |
513489465 发表于 2021-11-9 16:33 你为啥一定要在【】里面去运算,你完全可以在外面先运算之后再作为下标使用啊,你调试肯定要确定每一步都没有问题才对啊,你这只看最后结果去确定哪里出错是什么个操作? 基本的调试都不会吗? unsigned char temp; temp = (zifu-0x20)*12+N; 你先确定这个temp对不对你再去考虑显示的那个取值啥的问题不行? 非得一次性全部搞出来,没有中间过程,觉得这样写很顺眼? 基本的调试都不懂,明明能仿真 还问这么简单的问题。 |
我想问一下:unsigned char zifu[16]={0X30,0X31,0X32,0X33,0X34,0X35,0X36,0X37,0X38,0X39,0X41,0X42,0X43,0X44,0X45}; 这个数组的元素,如果要为A[]数组的下标。是不是得把zifu[]数组的元素变为整数才可以,刚才试了试把zifu[0]赋值给(int)SHU。放进去也是乱码; |
你把,你在 地板 发的 这两条代码的 正常的数组,出现异常的数组, Ctrl + F5 Debug 之后,看看出来的汇编代码,到底有什么差别,可以方便找到出错原因。 |
那个异常的数组里面是print1[0]是你复制的时候打错了吧?还是说本身复制过来就这样。不应该是print1[1]吗? 首先你得确定你的print1[]这个数组里面的数字是没有问题的,如果是没错的话那就不应该有问题,因为数组是可以这样操作的,如果出来不对,肯定是你有程序对这个print1[]数组的操作产生的数据不对。 从你打印出来的那个2来看,很明显是取模的值向后移了,并不是从头开始读取,那么就应该是你的print1[]这个值取大了,为什么变大了肯定是你程序某个地方把值给改变了。 |
2012里面为啥第2个数字2没事,第一个就有事? |
下标必须可以是其他数组元素,贴出错代码出来吧。 |
是可以这样操作的,但是并不建议你这样使用,因为这样容易出现数组越界,如果不注意使用的话。 |