逻辑错误 (程序设计)

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

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

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

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

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

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

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

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

参见

  • 语法错误
  • 差一错误

参考来源

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


相关

  • 自恋型人格障碍自恋型人格疾患 (英语:Narcissistic personality disorder, 简称为 NPD)是一种永久性的人格疾患。患者往往会过度夸大强化自我的重要性(英语:Grandiosity),过度渴求别人的赞赏(英语
  • 地球优先!地球优先!(Earth First!,简称EF!)是1979年在美国西南部兴起的激进环境主义组织。受雷切尔·卡森的《寂静的春天》、奥尔多·利奥波德的土地伦理和爱德华·阿比(Edward Abbey)的《
  • 汉城亚运会第十届亚洲运动会于1986年9月20日至10月5日在韩国汉城(今首尔)举行,会期为16天,而亚运会亦是东道主韩国在88奥运会的前哨战。本届亚运会共有27个国家和地区的4839名运动员参与25
  • 台视财经台本段时间均以二十四小时制东八区时间(UTC+8)为准。台视财经台,是台湾电视公司(台视)旗下频道之一,于2004年9月1日开播,2014年起陆续在数位有线电视系统上架。收播时间:每星期一03:00
  • 莫比尔莫比尔(英语:Mobile,/moʊˈbiːl/,moh-BEEL,法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Co
  • 松貂(M. martes)松貂(学名Martes martes),又名林貂,是分布在北欧的一种鼬科动物。它们约有家猫的大小,体长53厘米,尾巴长25厘米。雄貂较雌貂稍大,平均重1.5公斤。毛皮呈浅褐至深褐色,在冬天会逐渐变
  • 皆本胜弘皆本胜弘(1972年7月2日-),前日本足球运动员。
  • Promises《Promises》是苏格兰音乐制作人卡尔文·哈里斯和英国创作歌手山姆·史密斯的歌曲。两位艺人携手加拿大歌手兼词曲作者杰西·雷耶兹(英语:Jessie Reyez)共同完成了本歌曲的创作
  • 丁瑞图丁瑞图(1894年9月24日-1944年),祖籍福建泉州晋江,台湾彰化鹿港人。鹿港公学校毕业。丁瑞图生于光绪二十年八月二十五日(1894年9月24日),系家中长子,进士丁寿泉之长孙。翌年爆发乙未战
  • 朗姆酒蛋糕朗姆酒蛋糕(英语:Rum cake)是一种含有朗姆酒成分的甜点蛋糕。在多数加勒比地区,朗姆酒蛋糕是传统的圣诞节和假日季节(英语:Christmas and holiday season)甜点,来自假日布丁(如无花果