逻辑错误 (程序设计)

✍ dations ◷ 2025-10-06 10:39:25 #计算机错误,程序语言理论,程序设计小作品

在计算机程序设计中,逻辑错误(Logic error)(又叫语义错误)是程序错误的一种,这种错误会导致程序运行出错,但还不至于崩溃。逻辑错误会产生意外的输出或结果,但并不一定会立即被发现。

逻辑错误在编译语言和解释语言中都可能出现。与语法错误的程序不同的是,逻辑错误的程序从语法上来说是正确的一段程序,但其运行结果却与预期不符。逻辑错误的唯一表现就是错误的运行结果。

在 C++ 语言中,逻辑错误是一种特殊的异常()。

逻辑错误的原因可能是语句中出现了差错(比如公式写错)、算法中的错误,甚至是选择了错误的算法。此外还有一些其它原因,如类型转换错误、变量作用域错误、遗漏的代码段、对问题或需求的理解有误等等。

找出逻辑错误的办法之一,是将程序中的变量输出到文件或打印到屏幕,以定位错误所在。虽然这个办法不是所有情况下都适用,比如在调用了错误的子例程时就行不通,但是如果程序由于计算结果有误而出错,这种方法最容易找出问题。

以下用于计算平均数的C语言函数含有逻辑错误。代码中缺少了一对括号,因此程序虽然能够通过编译并运行,但由于运算符优先级(先乘除,后加减)的缘故,运算结果并不正确。

int average(int a, int b){    return a + b / 2;     /* 应为 (a + b) / 2 */}

参见

  • 语法错误
  • 差一错误

参考来源

  1. ^ 了解您的 Bug:三种编程错误. Microsoft. 


相关

  • 空间探测器空间探测器(英语:space probe)也称深空探测器,是用于探测地球以外天体和星际空间的无人航天器。空间探测器的基本构造多与人造地球卫星相近,但探测器通常用于执行某一特定探测或
  • 洛克希德·马丁公司洛克希德·马丁(英语:Lockheed Martin,NYSE:LMT)是一家美国航空航天制造厂商,1995年由洛克希德公司与马丁·玛丽埃塔公司共同合并而成。 洛克希德·马丁以开发、制造军用飞机闻名
  • 绿谷制药绿谷制药是绿谷(集团)有限公司旗下的制药企业,总部设在上海,包括上海绿谷制药有限公司和西安绿谷制药有限公司,现董事长为吕松涛。绿谷(集团)有限公司成立于1997年,前身为上海巨人集
  • 超级杀手合唱团最佳金属乐演奏奖(英语:Grammy Award for Best Metal Performance)2007年〈疯人之眼〉 最佳金属乐演奏奖2008年〈最后的六〉金属之锤金神奖(英语:Metal Hammer Golden Gods Award
  • 音乐学院音乐学系或音乐学院。一般来讲音乐学院为独立的教育机构,而音乐学系是隶属于艺术学院下的一个科系。以培养音乐相关领域之研究、演奏人才为目标,由于音乐类别可触及之范畴的多
  • 丝路 (购物网站)silkroadvb5piz3r.onion.to reloadxnkwi5nsbg.onion(3.0) silkroad7rn2puhj.onion(3.1) 丝路(Silk Road)是一个利用Tor的隐密服务来运作的黑市购物网站,Tor的服务保证了网站用
  • 昆图斯·凯西里乌斯·梅特卢斯昆图斯·凯西里乌斯·梅特卢斯(Quintus Caecilius Metellus Macedonicus,约前210年~前116年/前115年) 是一名罗马政客和军人。他在前148年任裁判官(Praetor),前143年任执政官(Cons
  • 亚历山大·阿蒂梅夫亚历山大·阿蒂梅夫(Alexander Artemev,1985年8月29日-)生于白俄罗斯明斯克,是一名美国男子体操运动员。他曾参加2008年夏季奥林匹克运动会,最终获得男子团体项目铜牌。
  • 南长崎南长崎(日语:南長崎/みなみながさき  */?)是东京都丰岛区的町名。现行行政地名为南长崎一丁目至南长崎六丁目。位于丰岛区西南部。邻接同区长崎、西池袋、目白,新宿区中落合、
  • 西門夜說刘书玮(1993年10月16日-,游戏代号:西门夜说,Westdoor),是一名台湾电子竞技职业选手、实况主 ,前隶属于竞酷数位旗下的ahq e-Sports Club职业战队,于2019年宣布退役,后担任实况主与赛评