c语言源程序常见错误分类及其改错

合集下载

C语言常见改错

C语言常见改错
2:在子函数中注意大括号外定义类型与里面的要相同。 见例三 三、格式错误
1:常见格式 int→%d,long→%ld,float→%f,double→%lf 2:所需输出结果与已定义类型不同,可以利用强制转 换符。如定义 sum 为 int,但要输出实数 float,可以(float) sum 。见例一 四、固定语句格式错误 1:for( ; ; ); 2:while( ); 3:switch(){ };(for,while,switch 后面无分号) 见例五 4:do{ }while( );(do{ }while 结构后面有分号)
if(isSuShu(i)==0) /*(4)条件表达错,应改为(isSuShu(i)==1)或(isSuShu(i))*/ {
count=0; /*(5)本句应改为:count++;或 count+=1;*/
printf("%d\t",i);
if(count%K==0)
printf("\n");
case 6: b[2]++; break;
case 7: b[3]++; break;
case 8: b[4]++; break;
case 9: b[5]++;
/*(4)行末应加:break; */
default: b[5]++;
}
}
}
printf("The result is: \n");
for (i=1; i<6; i++) printf("%d0 number is: \n ", i+4,b[i]);

C语言程序设计中的常见错误和解决

C语言程序设计中的常见错误和解决

C语言程序设计中的常见错误和解决在C语言程序设计中,很多初学者经常会遇到一些常见的错误。

这些错误可能是语法错误、逻辑错误或者是其他一些常见问题导致的。

本文将介绍一些经常出现的C语言程序设计错误,并提供相应的解决方法,帮助读者更好地理解和掌握C语言编程。

一、语法错误1. 括号未匹配括号未匹配是C语言中常见的语法错误之一。

在编写代码时,经常会使用到括号,如if语句、for循环等。

如果不小心忘记关闭某个括号,就会导致括号未匹配的错误。

解决方法:仔细检查代码中的括号是否匹配,并确保每个左括号都有相应的右括号。

2. 分号丢失分号丢失是C语言中另一个常见的语法错误。

在C语言中,分号用于分隔语句,如果遗漏了分号,编译器就无法识别出语句的结束。

解决方法:检查每一行语句的末尾,确保每个语句都以分号结尾。

3. 变量未声明在使用变量之前,必须先声明该变量。

如果没有先声明变量就直接使用,编译器将无法识别该变量,从而报错。

解决方法:在使用变量之前,先进行变量声明。

二、逻辑错误1. 循环控制条件错误在编写循环语句时,控制条件的错误是常见的逻辑错误。

如果循环的控制条件错误,循环可能无法正常结束或者根本无法执行。

解决方法:仔细检查循环的控制条件,确保条件符合预期,并在循环体内更新循环变量。

2. 数组越界访问在C语言中,数组的索引从0开始,通过索引访问数组元素时,如果索引超出了数组的范围,就会导致数组越界访问的错误。

解决方法:确保数组索引在正确的范围内,避免越界访问。

如果需要遍历数组,可以使用循环来控制数组的访问范围。

三、其他常见问题及解决方法1. 变量类型不匹配在赋值操作或者表达式计算时,如果不同类型的变量之间进行操作,则会导致变量类型不匹配的错误。

解决方法:确保操作的变量类型相同或者进行强制类型转换,以保证变量类型的匹配。

2. 内存泄漏在C语言中,手动分配内存的操作是常见的。

如果分配了内存空间,但在使用完毕后未及时释放,就会导致内存泄漏。

C语言技术中常见错误及错误处理策略

C语言技术中常见错误及错误处理策略

C语言技术中常见错误及错误处理策略在学习和使用C语言技术的过程中,常常会遇到各种各样的错误。

这些错误可能是由于语法错误、逻辑错误或者其他各种原因引起的。

本文将介绍一些常见的C 语言错误,并提供相应的错误处理策略,帮助读者更好地理解和处理这些错误。

一、语法错误语法错误是最常见的C语言错误之一。

当我们在编写C语言程序时,如果违反了C语言的语法规则,编译器将无法正确解析代码,从而产生语法错误。

常见的语法错误包括拼写错误、缺少分号、括号不匹配等。

对于语法错误,我们可以通过仔细检查代码,逐行排查错误的位置。

在编写代码的过程中,可以使用IDE(集成开发环境)或者文本编辑器的语法高亮功能来帮助我们发现潜在的语法错误。

此外,可以借助编译器的错误提示信息,定位错误的具体位置。

二、逻辑错误逻辑错误是指程序在运行时产生的错误,这些错误通常是由于程序的逻辑错误或者算法错误引起的。

比如,程序输出的结果与预期不符,或者程序出现死循环等。

对于逻辑错误,我们可以通过调试工具来分析程序的执行过程,找出错误的原因。

调试工具可以帮助我们逐行执行代码,查看变量的值,以及跟踪程序的执行流程。

通过调试工具,我们可以发现潜在的逻辑错误,并进行相应的修复。

此外,良好的编程习惯也可以帮助我们避免逻辑错误的发生。

比如,我们可以使用有意义的变量名、注释代码等,提高代码的可读性和可维护性。

同时,我们还可以编写单元测试用例,验证程序的正确性。

三、内存错误内存错误是C语言程序中常见的错误之一。

在C语言中,我们需要手动管理内存的分配和释放。

如果在程序中存在内存泄漏、越界访问、空指针引用等问题,就会导致内存错误。

为了避免内存错误,我们可以使用一些编程技巧和规范。

比如,我们可以使用动态内存分配函数(如malloc、calloc等)来申请内存,并在使用完毕后及时释放。

同时,我们可以使用指针检查技术,避免空指针引用。

此外,我们还可以使用边界检查技术,避免越界访问。

C语言常见错误分析和程序调试

C语言常见错误分析和程序调试

C语言常见错误分析和程序调试C语言是一种常见的编程语言,在使用的过程中,常常会出现一些错误。

本文将分析C语言常见的错误,以及如何进行程序调试。

1.语法错误:语法错误是最常见的错误类型之一、它通常是由于拼写错误、缺少分号或括号不匹配等简单的错误导致的。

解决方法是仔细检查代码,确保所有括号都是成对且正确使用,并及时修正拼写错误。

2.逻辑错误:逻辑错误是指程序的逻辑错误,即程序没有按照预期的方式执行。

这种错误很难被编译器检测到,需要程序员自己进行调试。

解决方法一是使用printf语句来输出变量的值,以观察程序的执行过程;二是使用调试工具,如GDB,来逐步执行程序并观察变量的值。

3.内存错误:内存错误是指在程序中使用了未分配或已释放的内存。

这种错误通常会导致程序崩溃或产生不可预测的结果。

解决方法是保证正确地使用内存函数,如malloc和free,并养成好的编程习惯,即分配内存时要确保及时释放。

4.数组越界:数组越界是指程序访问了数组范围之外的元素。

这种错误可能会导致程序崩溃或产生不可预测的结果。

解决方法是仔细检查数组的索引,并确保索引的值在合法范围内。

5.变量未初始化:未初始化的变量可能包含随机的垃圾值,从而导致程序的不稳定或不可预测的结果。

解决方法是在使用变量之前,先给变量赋初始值。

6.常量溢出:常量溢出是指常量值超过了其数据类型的范围。

解决方法是使用合适的数据类型,并确保常量值在其范围之内。

7.函数调用错误:函数调用错误可能是函数名拼写错误、函数参数类型不匹配或函数调用位置错误等。

解决方法是仔细检查函数名的拼写,确保函数参数与定义一致,并确保函数调用位置正确。

总之,在编写C语言程序时,应该注意避免语法错误,正确使用内存函数和数组索引,初始化变量,选择合适的数据类型,并仔细检查函数调用。

此外,对于逻辑错误,可以通过打印输出和调试工具来进行程序调试,帮助定位问题并解决错误。

C语言技术使用上的常见错误及修正方法

C语言技术使用上的常见错误及修正方法

C语言技术使用上的常见错误及修正方法在计算机科学领域中,C语言是一门广泛应用的编程语言。

然而,由于其复杂性和细节要求,许多程序员在使用C语言时常常犯一些常见的错误。

本文将探讨这些常见错误,并提供一些修正方法,帮助读者避免这些问题。

一、内存管理错误在C语言中,内存管理是一个重要而复杂的任务。

常见的内存管理错误包括内存泄漏和野指针。

内存泄漏是指程序在使用完内存后未正确释放,导致内存资源的浪费。

野指针是指指向无效内存地址的指针,当程序试图访问这些地址时会导致未定义的行为。

修正方法:1. 确保每次分配内存后都有相应的释放操作。

使用malloc()或calloc()函数分配内存后,应使用free()函数释放内存。

2. 在指针赋值之前,始终将其初始化为NULL。

这样可以避免野指针的问题。

3. 使用合适的数据结构和算法来管理内存。

例如,使用动态数组时,应该注意及时调整数组的大小,以避免内存溢出。

二、数组越界错误数组越界错误是指程序试图访问数组范围之外的元素。

这种错误可能导致程序崩溃或产生不可预测的结果。

修正方法:1. 确保数组索引在合法的范围内。

在使用数组时,应该始终注意数组的大小,并确保循环或迭代的索引值不超过数组的边界。

2. 使用辅助变量来记录数组的大小,以便在需要时进行检查。

3. 使用安全的库函数,如strncpy()和memcpy()来处理字符串和内存复制操作,以避免数组越界错误。

三、类型错误C语言是一种静态类型语言,变量的类型在编译时就已确定。

类型错误是指程序中使用了错误的数据类型,导致程序逻辑错误或运行时错误。

修正方法:1. 仔细检查变量的声明和使用,确保它们的类型匹配。

2. 使用强制类型转换来确保数据类型的一致性。

但要注意,过度使用类型转换可能会导致错误,应谨慎使用。

3. 使用typedef来定义自定义数据类型,以提高代码的可读性和可维护性。

四、逻辑错误逻辑错误是指程序中的错误逻辑推理或错误的条件判断,导致程序产生错误的结果。

C语言技术中常见的错误与调试攻略

C语言技术中常见的错误与调试攻略

C语言技术中常见的错误与调试攻略在C语言开发中,常常会遇到各种错误和bug。

本文将介绍一些常见的C语言错误,并提供一些调试攻略,帮助您更好地解决问题。

1. 语法错误语法错误是最常见的错误之一。

在编写C语言代码时,一不小心就可能犯下语法错误,比如拼写错误、遗漏分号等。

这些错误会导致编译器无法正常解析代码,进而产生编译错误。

如何调试:- 仔细检查代码,查找可能的拼写错误。

可以借助IDE(集成开发环境)的自动补全功能来减少此类错误的发生。

- 确保每行代码以分号结尾,没有遗漏。

有些IDE会自动提示此类错误。

2. 逻辑错误逻辑错误是另一类常见的错误。

它们会导致程序在运行时不符合预期,输出错误的结果。

如何调试:- 借助调试工具,例如GDB,在代码执行过程中逐步跟踪程序。

通过查看变量的值和程序的执行流程,可以找出逻辑错误的所在。

- 使用断言(assert)来验证程序逻辑。

通过在关键位置插入断言语句,可以在程序运行时检查是否满足特定条件,从而尽早发现错误。

3. 数组越界错误在C语言中,访问数组时要确保不超出其合法索引范围。

如果越界访问数组,会导致内存访问错误,甚至程序崩溃。

如何调试:- 注意数组的索引范围,确保不超过数组长度。

可以使用循环和条件判断来避免越界访问。

- 配置编译器警告级别,以便在编译时发现可能的数组越界问题。

4. 内存泄漏内存泄漏指程序在分配内存后未释放,造成内存资源浪费的情况。

如果程序中存在内存泄漏,长时间运行可能会导致系统资源不足。

如何调试:- 使用内存调试工具,例如Valgrind,可以检测出内存泄漏情况,并指出泄漏的内存地址。

- 确保在每次动态分配内存后都要相应地释放。

5. 类型错误在C语言中,不同数据类型之间的转换需要谨慎处理。

类型错误可能导致数据丢失或计算结果不准确。

如何调试:- 确保不同数据类型之间进行转换时,能够正确保留数据的精度和范围。

- 使用类型转换符号来明确指定转换的类型,避免隐式转换导致的错误。

C源程序常见错误分析-推荐下载

sum=sum+i; i++; 在上例中,设计者本意是想求从 1 到 100 的整数和,但是由于循环语句中漏掉了大括号,使循环变 为死循环而不是求累加。对于这种错误,C 编译通常都不会有出错信息(因为符合 C 语法,但有部分编译系 统会提示有一个死循环)。对于这类逻辑错误,比语法错误更难查找,要求程序设计者有丰富的设计经验( 不会有类似的错误)和有丰富的排错经验(通过仿真能够很快发现问题)。 二、初学者在编写 C 源程序时常见错误及分析 1、忘记定义变量就使用 例如: main () { x=3; y=x; } 在上式中看似正确,实际上却没有定义变量 x 和 y 的类型。C 语言规定,所有的变量必须先定义,后 使用。因此在函数开头必须有定义变量 x 和 y 的语句,应改为: main () { int x,y; x=3; y=x; } 2、变量没有赋值初就直接使用。 例如: unsigned int addition (unsigned int n) { unsigned int i;
C 源程序常见错误分析
一、C 语言出错有两种情况: 1、语法错误。指编程时违背了 C 语法的规定,对这类错误,编译程序一般都能够给出“出错信息” ,并且告诉在哪一行出错及出错的类型。只要仔细检查,是可以很快发现错误并排除的。 2、逻辑错误。程序并无违背语法规则,但程序执行结果与原意不符。这是由于程序设计人员写出的 源程序与设计人员的本意不相同,即出现了逻辑上的混乱。 例如: unsigned char i=1; unsigned int sum=0; while (i<=100)
对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术关,系电通,力1根保过据护管生高线产中0不工资仅艺料可高试以中卷解资配决料置吊试技顶卷术层要是配求指置,机不对组规电在范气进高设行中备继资进电料行保试空护卷载高问与中题带资2负料2,荷试而下卷且高总可中体保资配障料置各试时类卷,管调需路控要习试在题验最到;大位对限。设度在备内管进来路行确敷调保设整机过使组程其高1在中正资,常料要工试加况卷强下安看与全22过,22度并22工且22作尽22下可护都能1关可地于以缩管正小路常故高工障中作高资;中料对资试于料卷继试连电卷接保破管护坏口进范处行围理整,高核或中对者资定对料值某试,些卷审异弯核常扁与高度校中固对资定图料盒纸试位,卷置编工.写况保复进护杂行层设自防备动腐与处跨装理接置,地高尤线中其弯资要曲料避半试免径卷错标调误高试高等方中,案资要,料求编试技5写、卷术重电保交要气护底设设装。备备置管4高调、动线中试电作敷资高气,设料中课并技3试资件且、术卷料中拒管试试调绝路包验卷试动敷含方技作设线案术,技槽以来术、及避管系免架统不等启必多动要项方高方案中式;资,对料为整试解套卷决启突高动然中过停语程机文中。电高因气中此课资,件料电中试力管卷高壁电中薄气资、设料接备试口进卷不行保严调护等试装问工置题作调,并试合且技理进术利行,用过要管关求线运电敷行力设高保技中护术资装。料置线试做缆卷到敷技准设术确原指灵则导活:。。在对对分于于线调差盒试动处过保,程护当中装不高置同中高电资中压料资回试料路卷试交技卷叉术调时问试,题技应,术采作是用为指金调发属试电隔人机板员一进,变行需压隔要器开在组处事在理前发;掌生同握内一图部线纸故槽资障内料时,、,强设需电备要回制进路造行须厂外同家部时出电切具源断高高习中中题资资电料料源试试,卷卷线试切缆验除敷报从设告而完与采毕相用,关高要技中进术资行资料检料试查,卷和并主检且要测了保处解护理现装。场置设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

C语言技术常见错误及解决方法

C语言技术常见错误及解决方法C语言作为一种广泛使用的编程语言,在开发过程中常常会遇到各种错误。

本文将介绍一些常见的C语言技术错误,并提供相应的解决方法,以帮助读者更好地理解和应对这些问题。

1. 语法错误语法错误是最常见的错误之一,它们通常是由于拼写错误、缺少分号或括号等简单的语法错误导致的。

解决这类错误的方法是仔细检查代码,注意拼写和语法规则,并使用编译器提供的错误提示来修正错误。

2. 逻辑错误逻辑错误是指程序在运行时产生了与预期不符的结果。

这类错误通常是由于程序员在编写代码时未正确考虑所有可能的情况而导致的。

解决逻辑错误的方法是通过调试工具逐步跟踪代码执行过程,找出错误的原因,并进行相应的修正。

3. 内存错误内存错误是C语言中常见的错误之一,它们通常是由于内存分配不当、内存越界访问或内存泄漏等问题导致的。

解决内存错误的方法包括合理地使用malloc和free函数进行内存分配和释放,避免越界访问数组或指针,以及使用内存检测工具如Valgrind来检测和修复内存泄漏问题。

4. 数组错误数组错误是指对数组的操作超出了其边界范围,导致访问了无效的内存地址。

解决数组错误的方法是确保数组索引在有效范围内,并使用循环结构来遍历数组,以避免越界访问。

5. 函数错误函数错误是指函数的使用不当,包括函数参数传递错误、函数返回值处理错误等。

解决函数错误的方法是仔细阅读函数的文档,了解其参数和返回值的含义,并正确使用函数。

6. 文件操作错误文件操作错误是指在对文件进行读写操作时出现的问题,如文件打开失败、读写错误等。

解决文件操作错误的方法是使用合适的文件打开模式、检查文件是否成功打开,并适时处理读写错误。

7. 数据类型错误数据类型错误是指对不匹配的数据类型进行操作,如将整数赋值给字符变量或使用错误的格式化字符串等。

解决数据类型错误的方法是确保变量的数据类型与操作相匹配,并使用正确的格式化字符串来处理输入输出。

8. 并发错误并发错误是指在多线程或多进程编程中出现的问题,如竞态条件、死锁等。

C语言程序常见错误与调试方法

C Programming
(三)C语言程序调试方法 3、对运行结果作分析,看它是否符合要求。
• 有的初学者看到运行结果就认为没问题了,不作 认真分析,这是危险的。 • 有时,数据比较复杂,难以立即判断结果是否正 确。可以事先考虑好一批“试验数据”,输入这 些数据可以很容易判断结果正确与否。 • 事实上,当程序复杂时很难把所有的可能情况全 部都试到,选择典型的临界数据作试验即可。
C Programming
3、警告 • “警告”是指被编译程序怀疑有错,但不确定, 有时可强行编译通过。例如:主函数没有返回值 时没有加void声明、double型数据被转换为float 型数据等。 • 这些警告中,有些会导致错误,有些则可以编译 通过。
C Programming
(三)C语言程序调试方法
• 编译诊断的语法错误分为3类:致命错误、错误和 警告。
C Programming
1、致命错误 • “致命错误”大多数是编译程序内部发生错误。 • 发生这类错误时,编译被迫终止,只能重新启动 编译程序。幸运的是,这类错误很少发生,但是 为了安全,编译前最好先保存程序。
C Programming
2、错误 • “错误”通常是在编译时,语法不当所引起的, 例如括号不匹配、变量为声明等。 • 产生这类错误时,编译程序会出现报错提示,根 据提示对源程序进行修改即可。这类错误是出现 最频繁的。
C Programming
1、语法错误
• 语法错误是指那些由于编程中输入不符合语法规 则产生的错误。 • 例如:表达式不完整、缺少必要的标点符号、关 键字输入错误、数据类型不匹配、循环语句或选 择语句的关键字不配对等。 • 通常,编译器对程序进行编译的过程中,会把检 测到的语法错误以提示的方式列举出来。

C语言中的常见错误及解决方法

C语言中的常见错误及解决方法C语言作为一种高级编程语言,被广泛应用于系统和应用程序的开发中。

然而,由于其语法的复杂性和良好的编程实践的要求,C语言中常常出现各种错误。

本文将介绍C语言中一些常见的错误,并提供相应的解决方法,以帮助读者避免这些错误。

1. 语法错误语法错误是C语言编程中最常见的错误之一。

这些错误可能是由于拼写错误、缺少分号、括号未匹配等原因导致的。

为了避免这些错误,开发者应该仔细检查代码,并使用编辑器的自动补全功能来减少拼写错误。

解决方法:使用编译器提供的错误信息来定位错误所在位置,并逐一排除语法错误。

2. 类型错误类型错误在C语言程序中也很常见。

这些错误通常是由于将不同类型的值赋给变量、将函数返回值赋给错误类型的变量等情况导致的。

为了避免这些错误,程序员应该仔细检查类型并使用类型转换函数来正确地使用不同类型的值。

解决方法:检查并确保变量的类型与其使用的值的类型相匹配,并使用强制类型转换来确保类型一致。

3. 数组越界错误数组越界错误也是C语言程序中常见的错误之一。

这些错误通常是由于访问超出数组边界的元素导致的。

为了避免这些错误,程序员应该遵循正确的数组索引和边界检查规则,并确保不会访问超过数组边界的位置。

解决方法:使用循环进行正确的数组遍历并检查索引是否越界。

4. 空指针错误空指针错误是C语言编程中另一个常见的错误。

这些错误通常是由于对空指针进行解引用操作导致的。

为了避免这些错误,程序员应该始终检查指针是否为空,并在必要时进行相应的错误处理。

解决方法:使用条件语句检查指针是否为空,并根据情况进行错误处理或赋予合适的值。

5. 内存泄漏错误内存泄漏错误是C语言中常见的错误之一。

这些错误通常是由于未正确释放动态分配的内存导致的。

为了避免这些错误,程序员应该确保在使用完毕后正确地释放内存,并避免额外的内存分配。

解决方法:在动态分配内存后,确保在使用完毕后使用free函数释放内存。

总结:C语言中的错误类型繁多,但通过遵循良好的编程实践、仔细检查代码以及使用适当的调试工具,我们可以避免大多数错误。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

c语言源程序常见错误分类及其改错.txt28生活是一位睿智的长者,生活是一位博学的老师,它常常春风化雨,润物无声地为我们指点迷津,给我们人生的启迪。

不要吝惜自己的爱,敞开自己的胸怀,多多给予,你会发现,你也已经沐浴在了爱河里。

C语言源程序检查源程序中三类出错信息:致命错误、一般错误和警告。

致命错误出现很少,它通常是内部编译出错。

在发生致命错误时,编译立即停止,必须采取一些适当的措施并重新编译。

一般错误指程序的语法错误、磁盘或内存存取错误或命令错误等。

编译程序将根据事先设定的出错个数来决定是否停止编译。

编译程序在每个阶段(预处理、语法分析、优化、代码生成)尽可能多地发现源程序中的错误。

警告并不阻止编译进行。

它指出一些值得怀疑的情况,而这些情况本身又有可能合理地成为源程序的一部分。

如果在源文件中使用了与机器有关的结构,编译也将产生警告信息。

编译程序首先输出这三类错误信息,然后输出源文件名和发现出错的行号,最后输出信息的内容。

下面按字母顺序分别列出这三类错误信息。

对每一条信息,提供可能产生的原因和修正方法。

请注意错误信息处有关行号的一个细节:编译程序只产生被检测到的信息。

因为C并不限定在正文的某行放一条语句,这样,真正产生错误的行可能在编译指出的前一行或几行。

在下面的信息列表中,我们指出了这种可能。

致命错误1.Bad call of in-line function 内部函数非法调用在使用一个宏定义的内部函数时,没有正确调用。

一个内部函数以双下划线(_ _)开始和结束。

2.Irreducible expression tree 不可约表达式树这种错误是由于源文件中的某些表达式使得代码生成程序无法为它产生代码。

这种表达式必须避免使用。

3.Register allocation failure 存储器分配失效这种错误指的是源文件行中的表达式太复杂,代码生成程序无法为它生成代码。

此时应简化这种繁杂的表达式或干脆避免使用它。

一般错误1.#operator not followed by macro argument name#运算符后无宏变量名。

在宏定义中,#用于标识一宏变量名。

“#”后必须跟一宏变量名。

2.’xxxxxx’ not an argument’xxxxxx’不是函数参数。

在源程序中将该标识符定义为一个函数参数,但此标识符没有在函数表中出现。

3.Ambiguous symbol ’xxxxxx’二义性符号’xxxxxx’。

两个或多个结构的某一域名相同,但具有的偏移、类型不同。

在变量或表达式中引用该域而未带结构名时,将产生二义性,此时需修改某个域名或在引用时加上结构名。

4.Argument # missing name参数#名丢失。

参数名已脱离用于定义函数的函数原型。

如果函数以原型定义,该函数必须包含所有的参数名。

5.A rgument list syntax error函数表出现语法错误。

函数调用的参数间必须以逗号隔开,并以一右括号结束。

若源文件中含有一个其后不是逗号也不是右括号的参数,则出错。

6.Array bounds missing数组的界限符“]”丢失。

在源文件中定义了一个数组,但此数组没有以一右方括号结束。

7.Array size too large数组长度太大。

定义的数组太大,可用内存不够。

8.Assembler statement too long汇编语句太长。

内部汇编语句最长不能超过480字节。

9.Bad configuration file配置文件不正确。

TURBOC.CFG配置文件中包含不是合适命令行选择项的非注解文字。

配置文件命令选择项必须以一短横线(-)开始。

10. Bad file name format in include directive使用include指令时,文件名格式不正确。

include文件名必须用引号(“filename.h”)或尖括号(< filename.h >)括起来,否则将产生此类错误。

如果使用了宏,则产生的扩展正文也不正确(因为无引号)。

11. Bad ifdef directive syntaxifdef指令语法错误。

#ifdef必须包含一个标识符(不能是任何其他东西)作为该指令体。

12.Bad ifndef directive syntaxifndef指令语法错误。

#ifndef必须包含一个标识符(不能是任何其他东西)作为该指令体。

13.Bad undef directive syntaxundef指令语法错误。

#undef指令必须包含一个标识符(不能是任何其他东西)作为该指令体。

14.Bad file size syntax位字段长度语法错误。

一个位字段必须是1-16位的常量表达式。

15.Call of non-function调用未定义函数。

正被调用的函数无定义,通常是由于不正确的函数声明或函数名拼错造成的。

16.Cannot modify a const object不能修改一个常量对象。

对定义为常量的对象进行不合法操作(如常量赋值)引起此类错误。

17.Case outside of switchCase出现在switch外。

编译程序发现Case语句出现在switch语句外面,通常是由于括号不匹配造成的。

18.Case statement missingCase语句漏掉。

Case语句必须包含一以冒号终结的常量表达式。

可能的原因是丢了冒号或在冒号前多了别的符号。

19.Case syntax errorCase语法错误。

Case中包含了一些不正确符号。

20.Character constant too long字符常量太长。

字符常量只能是一个或两个字符长。

21.Compound statement missing复合语句漏掉了大括号“}”。

编译程序扫描到源文件末时。

未发现结束大括号,通常是由于大括号不匹配造成的。

22.Conflicting type modifiers类型修饰符冲突。

对同一指针,只能指定一种变址修饰符(如near或far);而对于同一函数,也只能给出一种语言修饰符(如cdecl、pascal或interrupt)。

23.Constant expression required要求常量表达式。

数组的大小必须是常量,此类错误通常是由于#define 常量的拼写出错而引起的。

24.Could not find ‘xxxxxxxx.xxx’找不到‘xxxxxxxx’文件。

编译程序找不到命令行上给出的文件。

25.Declaration missing说明漏掉‘;’。

在源文件中包含了一个struct或union域声明,但后面漏掉了分号(;)。

26.Declaration needs type or storage class说明必须给出类型或存储类。

说明必须包含一个类型或一个存储类。

27.Declaration syntax error说明出现语法错误。

在源文件中,某个说明丢失了某些符号或有多余的符号。

28.Default outside of switchDefault在switch外出现。

编译程序发现default语句出现在switch语句之外,通常是由于括号不匹配造成的。

29.Default directive needs an identiferDefault指令必须有一个标识符。

#define后面的第一个非空格符必须是一个标识符,若编译程序发现一些其他字符,则出现本错误。

30.Division by Zero除数为零。

源文件的常量表达式中,出现除数为零的情况。

31.Do statement must have whileDo语句中必须有 while。

源文件中包含一个无while关键字的do语句时,出现此类错误。

32.Do- while statement missing (Do- while语句中漏掉了“(”。

在do语句中,编译程序发现while关键字后无左括号。

33.Do- while statement missing )Do- while语句中漏掉了“)”。

在do语句中,编译程序发现while关键字后无右括号。

34.Do- while statement missing ;Do- while语句中漏掉了分号。

在do语句中的条件表达式中,编译程序发现右括号后面无分号。

35.Duplicate CaseCase后的常量表达式重复。

switch语句的每个case必须有一个唯一的常量表达式值。

36.Enum syntax errorEnum语法出现错误。

enum说明的标识符表的格式不对。

37.Enumeration constant syntax error枚举常量语法错误。

赋给enum类型变量的表达式值不为常量。

38.Error Directive:xxxError指令:xxx。

源文件处理#error指令时,显示该指令的信息。

39.Error writing output file写输出文件出现错误。

通常是由于磁盘空间满造成的,尽量删掉一些不必要的文件。

40.Expression syntax表达式语法错误。

当编译程序分析一表达式发现一些严重错误时,出现此类错误,通常是由于两个连续操作符、括号不匹配或缺少括号、前一语句漏掉了分号等引起的。

41.Extra parameter in call调用时出现多余参数。

调用函数时,其实际参数个数多于函数定义中的参数个数。

42.Extra parameter in call to xxxxxxxx调用xxxxxxxx函数时出现了多余的参数。

其中该函数由原型定义。

43.File name too long文件名太长。

#include 指令给出的文件名太长,编译程序无法处理。

DOS下的文件名不能超过64个字符。

44.For statement missing (For语句漏掉“(”。

编译程序发现在for关键字后缺少左括号。

45.For statement missing )For语句漏掉“)”。

在for语句中,编译程序发现在控制表达式后缺少右括号。

46.For statement missing ;For语句缺少“;”。

在for语句中,编译程序发现在某个表达式后缺少分号。

47.Function call missing )函数调用缺少“)”。

函数调用的参数表有几种语法错误,如左括号漏掉或括号不匹配。

48.Function definition out of place函数定义位置错误。

函数定义不可出现在另一函数内。

函数内的任何说明,只要以类似于带有一个参数表的函数开始,就被认为是一个函数定义。

49.Function doesn’t take a variable number of argument函数不接受可变的参数个数。

相关文档
最新文档