下面的c代码为{练:wèi}什么会发生段错误

2025-03-04 13:41:19Biological-SciencesScience

如果在写C语言时,代码没错,但是结果总错是什么原因?我想你要表达的是,编绎时,没显示出错,但就是结果错了。要细致地找原因。根据我以往的经验,原因有以下几点。1,内存没有释放。用new,malloc等分配内存,而在结束时来释放,频繁调用,系统崩溃

如果在写C语言时,代码没错,但是结果总错是什么原因?

我想你要表达的是,编绎时,没显示出错,但就是结果错了。要细致地找原因。

根据我以往的经验,原因有(yǒu)以下几点。

1,内存cún 没有释放。

开云体育

用new,malloc等分配内存,而在结束时来释放,频(繁:頻)繁调用,系统崩溃。

或者根本没使用new或ma娱乐城lloc,在《练:zài》使用内存时异常。

2,变量与地[练:dì]址用错。

澳门巴黎人

极速赛车/北京赛车

第一个p指地【读:dì】址,在程序中用错。

澳门伦敦人

3,画笔CPen,CStatic等未[练:wèi]恢复

如:oldpen=pdc一[拼音:yī]>SelectObject(&m_pen)

亚博体育

在结束,没有pdc一>SelectObject(oldpen)

澳门新葡京导致颜色混【拼音:hùn】乱。

4,中断使用不{练:bù}当,或者回调callback函数使用不当.

5,c语言对(duì)变量类型有严格要{pinyin:yào}求,unsigned与signed区别《繁体:彆》还是很大的,详细检查函数原型。

6,最后检查算法,框图。是否基本算法有误。这个很难(繁体:難)做

澳门永利

相信大家都很自负[拼音:fù],坚《繁:堅》信算法没错。对照数学算法与你的程序算法[练:fǎ]是否一致。

7,浮点运算。相信大家认为1.0十1.0=2.0无疑。如果d澳门新葡京ouble与其它变量转换{练:huàn}出问题,没准是这样的结果:

1.0十shí 1.0=1.9999999999......

本文链接:http://10.21taiyang.com/Biological-SciencesScience/21975828.html
下面的c代码为{练:wèi}什么会发生段错误转载请注明出处来源