逻辑错误是计算机编程代码在编写或编译时不易识别的问题。有时称为语义错误,逻辑错误通常是程序员的错误;即使编码正确,得到的答案可能仍然不正确。如果为编程语言编译器提供了逻辑错误,它将成功解释所提供的代码,从而生成...
逻辑错误是计算机编程代码在编写或编译时不易识别的问题。有时称为语义错误,逻辑错误通常是程序员的错误;即使编码正确,得到的答案可能仍然不正确。如果为编程语言编译器提供了逻辑错误,它将成功解释所提供的代码,从而生成可能返回错误数据的工作程序。

跟踪逻辑错误的来源在编程脚本中,编写脚本是困难且耗时的。
逻辑错误很难被程序员捕捉到,因为编程语言解释器没有将此错误识别为问题。在代码成功执行之后,结果在没有经过仔细检查的情况下,最初看起来可能是正确的。要识别这些类型的错误,了解预期结果和程序功能的人员应检查该程序的输出和操作。
要查找代码中的逻辑错误,必须能够系统地跟踪错误的来源。错误可能是由于错误编码的语法造成的。代码的语法可能看起来是正确的,但可能会导致逻辑错误。如果不及时更正,这些类型的错误可能会导致代价高昂的问题。
逻辑错误也可能是由错误的数据造成的,这些数据被正确编写的程序使用,而没有任何内部逻辑错误。这相当于一个常见的表达式"垃圾输入,垃圾输出"。如果数据被错误地输入到程序中,即使程序被正确执行,结果与预期结果相比是错误的
作为另一种逻辑错误的例子,在停车标志处,驾驶员可能会选择右转或左转。如果驾驶员在预定目的地左转时右转,这将被视为逻辑错误。从技术上讲,驾驶员正确操作了车辆,但最终结果并非如预期的那样。如本例所示,逻辑错误并不局限于计算机编程领域。逻辑错误也可归类为通信方面的谬误。
在另一个存在逻辑错误的示例中,字处理器有时可能会使用自动拼写checker;这些拼写检查程序因缺少逻辑错误而臭名昭著。例如,名词"sale"可能会被句子中的名词"sail"误读。每个单词拼写正确,发音正确,在句子中可能语法正确,但一个单词的定义可能不适合特定的上下文判决。