逻辑错误 (程序设计)

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

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

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

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

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

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

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

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

参见

  • 语法错误
  • 差一错误

参考来源

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


相关

  • 心可以指:
  • 木雕木雕是木工的一个分支,是指以刀和凿雕刻木材,制成艺术品或装饰品的工艺。选用质地细密坚韧,不易变形的树种:传统的木雕是将整块木头粗加工(例如加工成规则形状例如正方形等)后再进
  • 小行星84522小行星84522(2002 TC302)是一个颜色偏红的巨大共振海王星外天体(2:5),它是在2002年10月9日被帕洛马山天文台的NEAT计划发现的。以39.058 至70.983 天文单位环绕着太阳运转,由于共
  • 攻、受、不分在男同性恋文化的同性性行为中,攻(1、Top)、受(0、Bottom)和不分(0.5、Versatile)都是用于描述性行为中的位置,特别是男男性行为的肛交中。1通常是肛交中的插入方,而0则往往是被插入
  • 戴运轨寓所千岁町官舍群,为台湾日治时期台北市千岁町二丁目的中高阶日式官舍群,现存的几栋建筑为高二种、高三种的高级官舍。其中,潮州街7号(戴运轨寓所)与潮州街9号为高二种官舍,提供三等奏
  • 老部老部,为汉字索引中的部首之一,康熙字典214个部首中的第一百二十五个(六划的则为第八个)。就繁体和简体中文中,老部归于六划部首。老部以左、上方为部字。且无其他部首可用者将部
  • 彝语东南部方言彝语东南部方言,是彝语的一种方言,使用人数40万人,主要分布在云南省东南部。分布范围东至广南县、富宁县,南至马关县、麻栗坡县,西至弥勒县、开远市、蒙自市,与南部方言区接界,北至
  • 吴子熊玻璃艺术馆吴子熊玻璃艺术馆位于浙江省台州市椒江区中心大道葭芷泾文化长廊中段,为中国第一家玻璃雕刻艺术馆,由工艺美术大师吴子熊创办于1998年8月19日。陈列了吴子熊父子以及其弟子的
  • 乔·肯尼迪三世约瑟夫·帕特里克·肯尼迪三世(Joseph Patrick Kennedy III;1980年10月4日-)是美国的一位律师和政治家,也是肯尼迪家族的一员,美国前司法部长罗伯特·弗朗西斯·肯尼迪之孙,联邦众
  • 3面夏娃《3面夏娃》是台湾歌手萧亚轩于2008年发行的第九张个人国语专辑。此专辑曾举行预购活动,预购者将购买此专辑的“真挚版”,并随碟附送三张萧于1999~2003年在维京所发行的专辑。