找回密码
 立即注册

QQ登录

只需一步,快速开始

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

C语言二维数组问题

[复制链接]
跳转到指定楼层
楼主
主程序:

大佬们帮我分析一下:为什么我定义二维数组double a[4][4],一维数组b[]的计算值全为0,

然而定义double a[3][3]、double a[3][4]或者int a[4][4] ,一维数组的计算值正确。



这个二维数组我后面需要用到的。



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

使用道具 举报

沙发
ID:139866 发表于 2022-8-10 10:22 | 只看该作者
你这程序里操作a[][]了吗?至于b[],你不会debug吗?
回复

使用道具 举报

板凳
ID:161164 发表于 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 发表于 2022-8-10 10:39 | 只看该作者
你这内存都溢出到太阳系以外了,怎么可能正常工作,奇怪的是C51链接的时候没有报错???

评分

参与人数 1黑币 +10 收起 理由
cheney03 + 10 哈哈,溢出到太阳系夸张了,double换int就.

查看全部评分

回复

使用道具 举报

5#
ID:1023753 发表于 2022-8-10 11:45 | 只看该作者
maxn等于多少???
回复

使用道具 举报

6#
ID:743654 发表于 2022-8-10 17:27 | 只看该作者
haiyang201 发表于 2022-8-10 11:45
maxn等于多少???

maxn=12;
回复

使用道具 举报

7#
ID:743654 发表于 2022-8-10 17:29 | 只看该作者
天ノ忆 发表于 2022-8-10 10:22
你这程序里操作a[][]了吗?至于b[],你不会debug吗?

暂时没有操作a[][],只是定义,后面会用到
回复

使用道具 举报

8#
ID:743654 发表于 2022-8-10 17:31 | 只看该作者
lkc8210 发表于 2022-8-10 10:37
怀疑内存溢出了
普通C51单片机只有256Byte内存
一个double有 4Byte

用的是STC89C52RC,只有128Byte内存,应该是内存问题,我换款单片机试试。
回复

使用道具 举报

9#
ID:743654 发表于 2022-8-10 17:32 | 只看该作者
Hephaestus 发表于 2022-8-10 10:39
你这内存都溢出到太阳系以外了,怎么可能正常工作,奇怪的是C51链接的时候没有报错???

确实,内存超了居然还能编译通过
回复

使用道具 举报

10#
ID:743654 发表于 2022-8-11 11:11 | 只看该作者
问题解决了,是单片机内存问题,谢谢各位!
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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