24小时热门版块排行榜    

查看: 1987  |  回复: 9

木棉和我

木虫 (职业作家)

[求助] 求解决:C语言代码能正常编译,但不能计算,为什么?含代码 已有1人参与

如题,

两个基本相同的C语言代码,一个能正常运行计算,一个读入定义数组都有问题,但都能正常编译,为什么?

注:
1. 此code2与code1中的区别仅在于后续计算,即在命令注释行‘//以下求出上下界面的velocity’前,两个code没有差异,仅code2中多了一些定义的变量及数组;

2. code1能正常运行,而code2的gdb调试显示与code1中相同的部分都不能正常运行,为什么?且code2中读入文件夹的命令都提示错误,实在无解。

3. 本人因为在学习C语言,gdb调试能力有限,已对code2做了少量调试,并注释了,但对于一些看似正确却提示有问题的,实在不知如何解决,希望大家帮忙运行看一下,给一些指点,谢谢!

4.可能代码写的比较乱,麻烦了。
回复此楼

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : code1.c
  • 2019-08-17 08:04:55, 10.24 K
  • 附件 2 : code2.c
  • 2019-08-17 08:05:05, 13.92 K

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

NovaMachine

新虫 (小有名气)

2楼2019-08-17 10:24:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木棉和我

木虫 (职业作家)

引用回帖:
2楼: Originally posted by NovaMachine at 2019-08-17 10:24:50
让我们这些拿手机的怎么看

您好!主要是代码太长了,400多行,难以贴出来,谢谢您!
3楼2019-08-17 12:51:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sspa9999

至尊木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
木棉和我(月只蓝代发): 金币+20, 感谢指导 2019-08-19 21:01:01
月只蓝: 金币+20, 应助指数+1, 感谢热心指导! 2019-08-19 21:01:19
编译只要语法对就能过,运行要逻辑也正确才行,所以很正常。

话说你的C代码看起来是非常Fortran风格啊,这么多数组都是固定维度大小的。上下行对齐也是乱七八糟不统一,别人看起来很费劲。既然用c了,最好还是按照c的风格和约定俗成来比较好
4楼2019-08-17 23:32:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木棉和我

木虫 (职业作家)

引用回帖:
4楼: Originally posted by sspa9999 at 2019-08-17 23:32:40
编译只要语法对就能过,运行要逻辑也正确才行,所以很正常。

话说你的C代码看起来是非常Fortran风格啊,这么多数组都是固定维度大小的。上下行对齐也是乱七八糟不统一,别人看起来很费劲。既然用c了,最好还是按 ...

谢谢您!果然是大神,一眼看出了问题所在,就是数组太大了,听说动态数组(即采用动态内存)可以解决,正在尝试中。另外,我还需要设置一个double a[20][30000][30000]的三维数组,别人告诉我数组太大,可能采用动态数组内存都不够,大神有什么建议没?

我会尽量按照标准来写,现在还在学习中,再次谢谢!
5楼2019-08-18 06:33:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sspa9999

至尊木虫 (著名写手)

数组需要的内存用量可以自己算:sizeof (double)=8 bytes, 8*20*30000*30000=144g bytes. 一般电脑的物理内存很少有这么大,可以加交换空间但比内存慢好几个数量级。更好的办法是分析你的问题,看有没有办法不用这么大的数组,比方说有些地方或者时域上变化不大比较平缓就用大步长或者大网格,这个需要domain knowledge,不是同一领域的人很难给出什么建议

发自小木虫Android客户端
6楼2019-08-19 02:45:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sspa9999

至尊木虫 (著名写手)

还有一种是后面的计算只依赖前面计算好的中间结果,不需要所有以前的数据,所以只要存中间结果就可以,这样就不需要保存前面所有的历史数据,也能省内存

发自小木虫Android客户端
7楼2019-08-19 02:50:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
月只蓝: 金币+10, 感谢指导 2019-08-19 21:01:47
引用回帖:
5楼: Originally posted by 木棉和我 at 2019-08-18 06:33:53
谢谢您!果然是大神,一眼看出了问题所在,就是数组太大了,听说动态数组(即采用动态内存)可以解决,正在尝试中。另外,我还需要设置一个double a的三维数组,别人告诉我数组太大,可能采用动态数组内存都不够,大 ...

你需要具体问题具体分析,这么大的数组内存得100多G,你的电脑有没有这么大内存?
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
8楼2019-08-19 17:12:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木棉和我

木虫 (职业作家)

引用回帖:
7楼: Originally posted by sspa9999 at 2019-08-19 02:50:45
还有一种是后面的计算只依赖前面计算好的中间结果,不需要所有以前的数据,所以只要存中间结果就可以,这样就不需要保存前面所有的历史数据,也能省内存

谢谢!我现在好像就是采用的这种方法,采用动态数组,并数组值采用set data与get data的方式。
9楼2019-08-21 23:51:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

木棉和我

木虫 (职业作家)

引用回帖:
8楼: Originally posted by libralibra at 2019-08-19 17:12:59
你需要具体问题具体分析,这么大的数组内存得100多G,你的电脑有没有这么大内存?...

没有呢!应该是我代码写的不科学,所以用了这么个数组。我现在忽略一些数据。谢谢您!
10楼2019-08-21 23:52:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 木棉和我 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 材料调剂,307分 +11 张泳铭1 2026-03-09 12/600 2026-03-10 22:52 by 星空星月
[考研] 欢迎211本科同学,过A区国家线,A区非偏远一本,交叉学科课题组 +23 lisimayy 2026-03-04 37/1850 2026-03-10 18:10 by a1763909
[考研] 332材料求调剂 +6 zjy101327 2026-03-05 8/400 2026-03-10 17:55 by zjy101327
[考研] 282分材料专业求调剂院校 +15 枫桥ZL 2026-03-09 21/1050 2026-03-10 16:51 by ztnimte
[考研] 一志愿东北大学080500,英一数二343分求调剂 +8 Seele_v5 2026-03-04 8/400 2026-03-10 14:51 by ruiyingmiao
[基金申请] PDF在线压缩软件 10+3 haxia 2026-03-08 4/200 2026-03-10 13:44 by lfy8008
[考研] 接受26届调剂生 +21 猪猪猪毛 2026-03-06 21/1050 2026-03-10 13:39 by Jack_333
[考研] 293求调剂 +4 上班不着吉 2026-03-09 4/200 2026-03-09 22:43 by bingxueer79
[基金申请] 面上项目还需要AI说明吗? +3 liyundong 2026-03-08 3/150 2026-03-09 22:30 by kingkocxr
[基金申请] 第二个面上项目的获批几率如何? +3 wawm9296 2026-03-04 5/250 2026-03-09 13:00 by xujie4132
[考研] 290求调剂 +6 Bananaiy 2026-03-04 6/300 2026-03-08 22:13 by qingfeng258
[基金申请] 进入个人成果库好难,一下午都没进去 +6 mi_dilee 2026-03-05 6/300 2026-03-08 11:43 by lan111
[考研] 2026调剂】考试A区0703化学类323分 诚求接收 +3 卷柏卷柏 2026-03-05 4/200 2026-03-07 17:00 by yuandd_2001
[考研] 材料专硕323求调剂 +5 李白26 2026-03-07 5/250 2026-03-07 16:46 by njzyff
[考研] 276求调剂 本科天津工业大学 一志愿北京化工大学0855 +4 路lyh123 2026-03-06 6/300 2026-03-07 11:37 by shdliugang
[考博] 2026年博士名额捡漏 +4 科研ya 2026-03-04 7/350 2026-03-06 16:05 by 科研ya
[考研] 301求调剂 +4 李LJR 2026-03-04 4/200 2026-03-05 13:31 by Iveryant
[考研] 274环境工程求调剂 +6 扶柳盈江 2026-03-05 6/300 2026-03-05 13:16 by 梦天888
[考研] 347求调剂 +6 啊欧欧欧 2026-03-03 8/400 2026-03-05 11:40 by 0202liuyan
[考研] 304求调剂 +3 曼殊2266 2026-03-04 3/150 2026-03-05 10:39 by Iveryant
信息提示
请填处理意见