逻辑错误 (程序设计)

✍ dations ◷ 2025-05-20 01:48:30 #计算机错误,程序语言理论,程序设计小作品

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

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

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

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

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

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

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

参见

  • 语法错误
  • 差一错误

参考来源

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


相关

  • 花粉病过敏性鼻炎,又称为鼻敏感、干草热、花粉热、花粉症或季节性过敏性鼻炎,是因为免疫系统受到空气中的过敏原影响而导致的鼻炎症状。征兆和病症包括流鼻涕或鼻塞、打喷嚏、眼睛的
  • 美洲鲎美洲鲎(学名:Limulus polyphemus)又名大西洋鲎,是鲎科美洲鲎属的一种,也是美洲鲎属的唯一的现存物种。美洲鲎主要分布在墨西哥湾和北美洲东岸。主要的活动区域是特拉华湾。漂流的
  • 阿片受体阿片样肽受体或阿片类受体、阿片受体(英语:Opioid receptors)是一类以阿片样肽为配体的G蛋白偶联受体。内源性类阿片物质包括强啡肽、脑啡肽(英语:enkephalin)、内啡肽、endomorph
  • “一带一路”建设工作委员会“一带一路”建设工作委员会(葡萄牙语:Comissão de Trabalho para a Construção de «Uma Faixa, Uma Rota»,葡文缩写:CTCFR),在澳门特别行政区行政长官管辖及指导下运作。根
  • 漫画心疗系《漫画心疗系》(マンガで分かる心療内科)是精神科医师ゆうきゆう原作、漫画家ソウ绘画的漫画作品,少年画报社出版,于少年画报社青年漫画杂志《YOUNG KING》连载。《月刊Young Ki
  • 黛青塔娜黛青塔娜(蒙古语:Дайчинтана,1983年8月29日-),为蒙古歌手。出生于青海省海西州。毕业于中央民族大学。她为HAYA乐团的主唱。《寂静的天空》 语言:蒙语和国语。
  • 杰弗里·基耶萨杰弗里·基耶萨(英语:Jeffrey Chiesa,1965年6月22日-)是美国的一位政治人物和律师。在2013年,他是新泽西州的两位参议院议员之一。他的党籍是共和党。基耶萨曾经出任新泽西州总检
  • 金手指金手指可以指:
  • 埃尔维·西内尔沃埃尔维·奥莉基·西内尔沃(芬兰语:Elvi Aulikki Sinervo,1912年5月4日-1986年8月28日)是芬兰工人阶级的作家、诗人和翻译家。她的创作高峰期在1931至1956年间。1950年代起她也开
  • 代码复用代码复用,也被称作软件复用。就是再利用已有的代码,或者相关的知识去编写新的代码来构造软件。可复用的代码以及相关的知识与需求文档,设计,测试用例一样都是软件开发的组织内部