打印

关于for循环编程问题

[复制链接]
517|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Soraka|  楼主 | 2017-7-29 15:11 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
程序始终在这个for循环里跑,这个for循环之前的变量赋值的语句也跑不进去,后面的也跑不进去 就在这个循环里跑,这是怎么回事啊?
Uint16 i;
float uaa[20],ubb[20],ucc[20];
前面的是他的变量定义。

for(i=0;i<=19;i++)
      {
   uaa[i]=0;
   ubb[i]=0;
   ucc[i]=0;
      }

相关帖子

沙发
Garen2| | 2017-7-29 15:35 | 只看该作者
程序没下载对,不是最新的,实际跑的代码跟源文件对不上导致。

使用特权

评论回复
板凳
Ryze| | 2017-7-29 15:48 | 只看该作者
建议仿真看下变量 i 的值

使用特权

评论回复
地板
Varus| | 2017-7-29 16:02 | 只看该作者

Uint16改为unsigned char试试

使用特权

评论回复
5
Snow7| | 2017-7-29 16:20 | 只看该作者
不知道你用的是什么平台,如果51单片机的话内存都不够放这些变量的

使用特权

评论回复
6
android2| | 2017-7-29 16:29 | 只看该作者
debug的时候没有看看i的值么,还要看看反汇编的语句吧

使用特权

评论回复
7
拉克丝| | 2017-7-29 16:50 | 只看该作者
如果循环能执行,i就不可能一直为0,肯定是没执行i++操作,至于具体原因,要看汇编语句,如果汇编驴唇不对马嘴,那么还是指令与源代码不对应。

使用特权

评论回复
8
309030| | 2017-7-29 17:06 | 只看该作者
i 在定义那里初始化为0,即是Uint16 i=0;for(i=0;i<=19;i++)改为for(;i<=19;i++)。。但意思都一样

使用特权

评论回复
9
lefeng| | 2017-7-29 19:26 | 只看该作者
单片机压根没在跑,供电不正常,也可能是内存不够。

使用特权

评论回复
10
lwsn| | 2017-7-29 19:36 | 只看该作者

可能DSP运行的根本就不是这段程序。

程序是不是优化过?

使用特权

评论回复
11
Thor9| | 2017-7-29 19:45 | 只看该作者

你是用的什么编译器啊?
这个程序除了这几句还有没有其他的,一起发出来。
你的i是全局的还是局部变量啊。

使用特权

评论回复
12
zhangmangui| | 2017-7-29 21:27 | 只看该作者
如果这个for循环在主函数中  肯定不可能     如果在其他函数中  是不是被别的地方修改了i值啊

使用特权

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

本版积分规则

178

主题

865

帖子

5

粉丝