找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2003|回復(fù): 10
收起左側(cè)

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

[復(fù)制鏈接]
ID:933803 發(fā)表于 2021-11-26 20:30 | 顯示全部樓層 |閱讀模式
使用keil 4 調(diào)試ABOV芯片,index是一個(gè)函數(shù)的局部變量,進(jìn)入for循環(huán)后index值不累加
TOM4~GA6FGR@A66_ER[~`G0.png
回復(fù)

使用道具 舉報(bào)

ID:624769 發(fā)表于 2021-11-26 20:49 | 顯示全部樓層
不累加? 難道……,你的意思是一直 =0 ,在循環(huán)里不出來(lái)了? for 變成 while(1) 了?
回復(fù)

使用道具 舉報(bào)

ID:70035 發(fā)表于 2021-11-27 09:36 | 顯示全部樓層
在for處打斷點(diǎn),再單步,就知道了。
回復(fù)

使用道具 舉報(bào)

ID:933803 發(fā)表于 2021-11-27 09:57 | 顯示全部樓層
188610329 發(fā)表于 2021-11-26 20:49
不累加? 難道……,你的意思是一直 =0 ,在循環(huán)里不出來(lái)了? for 變成 while(1) 了?

打斷點(diǎn),在調(diào)試窗口不累加,確實(shí)是這樣的
回復(fù)

使用道具 舉報(bào)

ID:933803 發(fā)表于 2021-11-27 10:00 | 顯示全部樓層
liht1634 發(fā)表于 2021-11-27 09:36
在for處打斷點(diǎn),再單步,就知道了。

就是打了斷點(diǎn)在調(diào)試窗口看index的值不累加才知道的,這個(gè)函數(shù)里的index是局部變量,在其他函數(shù)里也用到幾個(gè)index的局部變量,我把這個(gè)函數(shù)里的index局部變量變?yōu)閕ndex1,就是換個(gè)名字就累加了,我也不知道是什么原因
回復(fù)

使用道具 舉報(bào)

ID:984993 發(fā)表于 2021-11-27 10:08 | 顯示全部樓層
是不是定義的常量index啊
回復(fù)

使用道具 舉報(bào)

ID:985547 發(fā)表于 2021-11-28 11:34 | 顯示全部樓層
應(yīng)該是斷點(diǎn)的位置沒(méi)選好,內(nèi)存釋放了
回復(fù)

使用道具 舉報(bào)

ID:57657 發(fā)表于 2021-11-28 13:08 | 顯示全部樓層
davehua 發(fā)表于 2021-11-27 10:08
是不是定義的常量index啊

常亮?xí)惶鎿Q成數(shù)字,都不可能通過(guò)編譯。
回復(fù)

使用道具 舉報(bào)

ID:139866 發(fā)表于 2021-11-29 16:25 | 顯示全部樓層
直接看匯編代碼,找找放在那個(gè)寄存器里了,然后單步運(yùn)行,盯著這寄存器看
回復(fù)

使用道具 舉報(bào)

ID:419909 發(fā)表于 2021-11-29 17:05 | 顯示全部樓層
估計(jì)是index是和其它變量沖突了。按標(biāo)準(zhǔn)。用最基本的i.j.k之類的看看。
回復(fù)

使用道具 舉報(bào)

ID:933803 發(fā)表于 2021-11-30 08:16 | 顯示全部樓層
wfqxgw 發(fā)表于 2021-11-29 17:05
估計(jì)是index是和其它變量沖突了。按標(biāo)準(zhǔn)。用最基本的i.j.k之類的看看。

換個(gè)名字就可以了,可是這個(gè)index是局部變量,不會(huì)沖突啊,這會(huì)不會(huì)與keil 4 的優(yōu)化有關(guān)
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表