打印

数组移位错误

[复制链接]
1955|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wangcunboy|  楼主 | 2009-12-4 14:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wangcunboy 于 2009-12-4 14:09 编辑

OS是UCOS,CPU是ARM7.有这样的几句话。
for(i=0;i<200;i++)
     a=a[i+2];
移位后的结果是数组a中的前半部分数据时对的,从158位开始就乱了。如果该成下面的形式就对了,问题在哪里,谢谢。

for(i=0;i<200;i++)
{

    a=a[i+2];
    for(j=0;j<15000;j++);
}

相关帖子

沙发
wangcunboy|  楼主 | 2009-12-4 14:12 | 只看该作者
打错了。
1.  for(i=0;i<200;i++)
     a[i]=a[i+2];


2.  for(i=0;i<200;i++)
{

    a[i]=a[i+2];
    for(j=0;j<15000;j++);//延时
}

使用特权

评论回复
板凳
myitlover| | 2009-12-6 13:08 | 只看该作者
你的数组a是怎么定义的,会不会溢出

使用特权

评论回复
地板
wangcunboy|  楼主 | 2009-12-8 10:05 | 只看该作者
数组a的大小为256,不会溢出的。

使用特权

评论回复
5
tanxiaodan| | 2010-2-9 21:57 | 只看该作者
把数组移位前和移位后都打印出来看,是不是在移位前就发生了错误

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

14

主题

49

帖子

0

粉丝