找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1886|回復: 9
收起左側

C語言二維數組問題

[復制鏈接]
ID:743654 發(fā)表于 2022-8-10 08:54 | 顯示全部樓層 |閱讀模式
主程序: 1.png

大佬們幫我分析一下:為什么我定義二維數組double a[4][4],一維數組b[]的計算值全為0, 2.png

然而定義double a[3][3]、double a[3][4]或者int a[4][4] ,一維數組的計算值正確。
3.png


這個二維數組我后面需要用到的。



回復

使用道具 舉報

ID:139866 發(fā)表于 2022-8-10 10:22 | 顯示全部樓層
你這程序里操作a[][]了嗎?至于b[],你不會debug嗎?
回復

使用道具 舉報

ID:161164 發(fā)表于 2022-8-10 10:37 | 顯示全部樓層
懷疑內存溢出了
普通C51單片機只有256Byte內存
一個double有 4Byte
你用了4 x (12+12+4x4+8+4) = 208 Byte
再加上其他變量
可能會超過256Byte

不知道你用哪款單片機
如果用的是STC
試試把所有double改為double xdata

評分

參與人數 1黑幣 +10 收起 理由
cheney03 + 10 很給力!是單片機內存溢出了

查看全部評分

回復

使用道具 舉報

ID:883242 發(fā)表于 2022-8-10 10:39 | 顯示全部樓層
你這內存都溢出到太陽系以外了,怎么可能正常工作,奇怪的是C51鏈接的時候沒有報錯???

評分

參與人數 1黑幣 +10 收起 理由
cheney03 + 10 哈哈,溢出到太陽系夸張了,double換int就.

查看全部評分

回復

使用道具 舉報

ID:1023753 發(fā)表于 2022-8-10 11:45 | 顯示全部樓層
maxn等于多少???
回復

使用道具 舉報

ID:743654 發(fā)表于 2022-8-10 17:27 | 顯示全部樓層
haiyang201 發(fā)表于 2022-8-10 11:45
maxn等于多少???

maxn=12;
回復

使用道具 舉報

ID:743654 發(fā)表于 2022-8-10 17:29 | 顯示全部樓層
天ノ憶 發(fā)表于 2022-8-10 10:22
你這程序里操作a[][]了嗎?至于b[],你不會debug嗎?

暫時沒有操作a[][],只是定義,后面會用到
回復

使用道具 舉報

ID:743654 發(fā)表于 2022-8-10 17:31 | 顯示全部樓層
lkc8210 發(fā)表于 2022-8-10 10:37
懷疑內存溢出了
普通C51單片機只有256Byte內存
一個double有 4Byte

用的是STC89C52RC,只有128Byte內存,應該是內存問題,我換款單片機試試。
回復

使用道具 舉報

ID:743654 發(fā)表于 2022-8-10 17:32 | 顯示全部樓層
Hephaestus 發(fā)表于 2022-8-10 10:39
你這內存都溢出到太陽系以外了,怎么可能正常工作,奇怪的是C51鏈接的時候沒有報錯???

確實,內存超了居然還能編譯通過
回復

使用道具 舉報

ID:743654 發(fā)表于 2022-8-11 11:11 | 顯示全部樓層
問題解決了,是單片機內存問題,謝謝各位!
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表