逻辑错误 (程序设计)

✍ dations ◷ 2024-09-20 10:35:02 #计算机错误,程序语言理论,程序设计小作品

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

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

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

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

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

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

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

参见

  • 语法错误
  • 差一错误

参考来源

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


相关

  • 布鲁格达氏症候群3布鲁盖达氏症候群(英语:Brugada syndrome (BrS))也称为“突然猝死症”,是一种心脏遗传病。由于心脏电流出现异常,严重的能够引致心脏衰竭或猝死。此症是泰国和老挝当地年轻人在没
  • 神秘主义神秘主义(英语:Mysticism),也有较模糊的称为密契主义,包涵人类与神明或某种超自然力量结合为一的各种形式、经验、体验,并且强调这是一切宗教共有的现象。神秘主义者的基本信条是
  • 俄罗斯皇帝俄罗斯君主列表,指俄罗斯由公元862年留里克创立诺夫哥罗德公国开始,到1917年尼古拉二世退位其间,共1055年间的俄国君主的列表。862年,留里克创立诺夫哥罗德公国,是为俄罗斯国家的
  • 南象海豹南象海豹(学名:Mirounga leonina),又名南象形海豹,主要分布在亚南极地区,是象海豹属下的两种海豹之一。它不仅是最庞大的鳍足类动物,而且还是迄今为止食肉目最大的成员。该海豹的名
  • 1997年 西西里第十九届夏季世界大学生运动会于1997年8月20日至8月31日在意大利西西里举行,这是意大利第四次主办夏季世界大学生运动会,该届赛事共设10个大项。*  主办国家/地区(意大利)
  • 力拓集团力拓集团(Rio Tinto Group,ASX: RIO, LSE:RIO,NYSE:RIO)是一间成立于1873年的跨国性矿产及资源集团,该公司同时还兼营煤、铁、铜、黄金、钻石、铝、能源等业务。2006年该集团税前
  • Liposcelididae虱啮科(学名:Liposcelididae)是啮虫目粉啮虫亚目之下的一个科,又名书虱科,是一种树虱。本科物种一般细小扁平,通常都没有翅膀。本科旧属啮虫目(Corrodentia)的准啮虫亚目(Parapsocida
  • 3个州、1个区和1个首都直辖市塔吉克斯坦行政区划(塔吉克语:Вилоятҳои Тоҷикистон)包括三个州、一个区和一个首都直辖市(括号内为首府):1.索格特州(苦盏)2.国家直辖区(3.杜尚别)4.哈特隆州(库尔
  • Me2dayMe2day(韩语:미투데이)是一个提供微型博客服务的社交网站。用户可以注册Me2day,也可以使用naver的帐号登录。Me2Day的服务器于2014年6月30日停止运行,2014年7月31日Me2day关闭。
  • I love you 我爱你!《I love you 我爱你!》(日语:アイシテラブル!)是日本女子组合SKE48的第9张单曲,于2012年5月16日由avex trax发售。歌名“アイシテラブル!”是将“愛してる(意思是“我爱你”,Aishi