找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1095|回复: 10
打印 上一主题 下一主题
收起左侧

C语言for(index = 0; index < 25; index++) index值不累加是什么原因?

[复制链接]
跳转到指定楼层
楼主
使用keil 4 调试ABOV芯片,index是一个函数的局部变量,进入for循环后index值不累加

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:624769 发表于 2021-11-26 20:49 | 只看该作者
不累加? 难道……,你的意思是一直 =0 ,在循环里不出来了? for 变成 while(1) 了?
回复

使用道具 举报

板凳
ID:70035 发表于 2021-11-27 09:36 | 只看该作者
在for处打断点,再单步,就知道了。
回复

使用道具 举报

地板
ID:933803 发表于 2021-11-27 09:57 | 只看该作者
188610329 发表于 2021-11-26 20:49
不累加? 难道……,你的意思是一直 =0 ,在循环里不出来了? for 变成 while(1) 了?

打断点,在调试窗口不累加,确实是这样的
回复

使用道具 举报

5#
ID:933803 发表于 2021-11-27 10:00 | 只看该作者
liht1634 发表于 2021-11-27 09:36
在for处打断点,再单步,就知道了。

就是打了断点在调试窗口看index的值不累加才知道的,这个函数里的index是局部变量,在其他函数里也用到几个index的局部变量,我把这个函数里的index局部变量变为index1,就是换个名字就累加了,我也不知道是什么原因
回复

使用道具 举报

6#
ID:984993 发表于 2021-11-27 10:08 | 只看该作者
是不是定义的常量index啊
回复

使用道具 举报

7#
ID:985547 发表于 2021-11-28 11:34 | 只看该作者
应该是断点的位置没选好,内存释放了
回复

使用道具 举报

8#
ID:57657 发表于 2021-11-28 13:08 | 只看该作者
davehua 发表于 2021-11-27 10:08
是不是定义的常量index啊

常亮会被替换成数字,都不可能通过编译。
回复

使用道具 举报

9#
ID:139866 发表于 2021-11-29 16:25 | 只看该作者
直接看汇编代码,找找放在那个寄存器里了,然后单步运行,盯着这寄存器看
回复

使用道具 举报

10#
ID:419909 发表于 2021-11-29 17:05 | 只看该作者
估计是index是和其它变量冲突了。按标准。用最基本的i.j.k之类的看看。
回复

使用道具 举报

11#
ID:933803 发表于 2021-11-30 08:16 | 只看该作者
wfqxgw 发表于 2021-11-29 17:05
估计是index是和其它变量冲突了。按标准。用最基本的i.j.k之类的看看。

换个名字就可以了,可是这个index是局部变量,不会冲突啊,这会不会与keil 4 的优化有关
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表