c语言程序调试中错误或警告提示的中文对照
使C语言初学者更好的了解错在哪里!如:Ambiguous operators need parentheses -------不明确的运算需要用括号括起 Ambiguous symbol ''xxx'' ----------------不明确的符号 Argument list syntax error ----------------参数表语法错误 Array bounds missing ------------------丢失数组界限符 Array size toolarge -----------------数组尺寸太大 Bad character in paramenters ------------------参数中有不适当的字符 Bad file name format in include directive ---------------包含命令中文件名格式不正确 在C语言编程中,调试阶段可能会遇到各种错误和警告,这些提示信息对于初学者来说可能较为晦涩。本文将详细解释这些错误和警告的具体含义,帮助开发者更好地理解问题所在并进行修正。 1. **不明确的运算需要用括号括起 (Ambiguous operators need parentheses)**:在表达式中,如果运算符的优先级不明确,编译器会发出此警告。为避免混淆,应使用括号来明确运算顺序。 2. **不明确的符号 (Ambiguous symbol 'xxx')**:这表示编译器无法确定标识符'xxx'的确切含义,可能是未定义、重定义或者使用了不正确的上下文。检查变量、函数或类型定义是否正确。 3. **参数表语法错误 (Argument list syntax error)**:函数调用时,参数列表的语法不正确,可能是遗漏了逗号、括号等。确保参数列表与函数原型匹配,并且遵循正确的语法。 4. **丢失数组界限符 (Array bounds missing)**:声明数组时没有指定大小,例如`int arr[];`。数组声明应该指定大小,如`int arr[5];`。 5. **数组尺寸太大 (Array size too large)**:数组大小超过了编译器允许的最大值。考虑减小数组大小或使用动态内存分配。 6. **参数中有不适当的字符 (Bad character in parameters)**:参数中包含非法字符,比如非字母、数字或下划线。检查字符串常量和变量名是否符合命名规则。 7. **包含命令中文件名格式不正确 (Bad file name format in include directive)**:在`#include`指令中,文件名格式错误。确保包含的文件路径和名称正确,且符合操作系统对文件名的限制。 8. **编译预处理 ifdef 有语法错 (Bad ifdef directive syntax)**:`#ifdef`预处理指令的语法错误,检查宏定义是否正确。 9. **编译预处理 undef 有语法错 (Bad undef directive syntax)**:`#undef`预处理指令的语法错误,确认要取消定义的宏是否存在。 10. **位字段太长 (Bit field too large)**:C语言中的位字段声明超过了该类型能表示的位数。检查位字段声明并调整大小。 11. **调用未定义的函数 (Call of non-function)**:尝试调用一个未声明或未定义的函数。确保已定义或包含了函数原型。 12. **调用函数时没有函数的说明 (Call to function with no prototype)**:调用函数时,编译器没有找到函数的原型声明。添加函数声明或包含相应的头文件。 13. **不允许修改常量对象 (Cannot modify a const object)**:试图修改const修饰的对象,const对象是只读的。如果需要修改,可以考虑使用非const对象或使用指针解引用。 14. **漏掉了 case 语句 (Case outside of switch)**:在switch语句中,case语句出现在switch之外。确保所有case都在switch的范围内。 15. **Case 语法错误 (Case syntax error)**:case标签后面没有跟随常量表达式或者冒号。修复case语句的语法。 16. **代码不可述(Code has no effect)**:编译器认为某段代码不会被执行,可能是由于条件语句、循环或函数调用的问题。检查逻辑是否正确。 17. **分程序漏掉 "{" (Compound statement missing {)**:复合语句(如if、for、while等)中漏掉了左大括号。补全缺失的括号。 18. **不明确的类型说明符 (Conflicting type modifiers)**:在声明中,同时使用了不兼容的类型修饰符。例如,同时使用`const`和`volatile`。修正类型修饰符。 19. **要求常量表达式 (Constant expression required)**:在需要常量表达式的地方使用了变量。确保常量表达式的使用位置正确。 20. **在比较中常量超出范围 (Constant out of range in comparison)**:比较操作中的常量超出了允许的范围。检查常量值和比较操作。 21. **转换时会丢失意义的数字 (Conversion may lose significant digits)**:类型转换可能导致精度损失。考虑使用更精确的数据类型或保留原始数据类型。 22. **不允许转换近指针 (Conversion of near pointer not allowed)**:在某些系统中,近指针和远指针之间不能直接转换。使用适当的指针类型。 23. **找不到 XXX 文件 (Could not find file 'xxx')**:编译器无法找到指定的源文件或库文件。检查文件路径、文件名及文件存在性。 24. **说明缺少";" (Declaration missing ;)**:变量或类型声明中遗漏了分号。在每个声明后加上分号。 25. **说明中出现语法错误 (Declaration syntax error)**:变量或类型声明的语法错误。检查声明语句的语法。 26. **Default 出现在 switch 语句之外 (Default outside of switch)**:default语句应在switch结构内。将default语句移到正确的switch内。 27. **定义编译预处理需要标识符 (Define directive needs an identifier)**:`#define`指令后没有标识符。提供有效的宏名。 28. **用零作除数 (Division by zero)**:运行时除数为零。检查除法操作,确保除数不为零。 29. **Do-while 语句中缺少 while 部分 (Do statement must have while)**:do-while循环的while部分遗漏。补全while后面的条件表达式。 30. **枚举类型语法错误 (Enum syntax error)**:枚举类型声明的语法错误。检查enum声明的语法。 31. **枚举常数语法错误 (Enumeration constant syntax error)**:枚举常数的定义不正确。确保枚举常量符合C语言的命名规则和语法。 以上是C语言编程中常见的一些错误和警告,理解和解决这些提示将有助于提高代码质量并避免程序出错。在遇到这类问题时,应仔细阅读错误信息,检查相关代码,并根据错误类型进行相应的修改。
剩余6页未读,继续阅读
- 粉丝: 2
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助