下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、语言调试常见错误一、第一类错误分析1、在使用变量前未定义。 2、语句后面漏写分号或不该加分号的地方加了分号。C语言规定,语句必须以分号结束,分号是C语句不可缺少的一部分,这也是和其它高级语言不同的一点。初学者往往容易忽略这个分号。 例如: x=1 y=2; 修改:x=1; y=2;3、定义或引用数组的方式不对。C语言规定,在对数组进行定义或对数组元素进行引用时必须要用方括号(对二维数组或多维数组的每一维数据都必须分别用方括号括起来),例如以下写法都将造成编译时出错:例如: int a(10); int b5,4; printf(dn,b1+2,2);修改:int a10; int b54; p
2、rintf(dn,b32);4、混淆字符和字符串 C语言中的字符常量是由一对单引号括起来的单个字符;而字符串常量是用一对双引号括起来的字符序列。字符常量存放在字符型变量中,而字符串常量只能存放在字符型数组中。 例如:char num; num=1;修改:char num; num=1;5、在引用数组元素或指针变量之前没对其赋初值。例如: main() int a6,b,*ptr; b=a5; *ptr=b; 修改:main() int a6=0,1,2,3,4,5,b,*ptr; b=a5; ptr=&b 6、混淆数组名与指针变量在C语言中,数组名代表数组的首地址,它的值是一个常量,不
3、能被修改。例如,在以下程序段中,用a+是不合法的。例如: main() int i, a10;for (i=0;i10;i+)scanf(d, a+);修改: main() int i, a10;int ptr=a;for (i=0;i10;i+)scanf(d, ptr+);7、混淆不同类型的指针。若有以下语句:int *p1, a=1;float *p2;p1=&a;则赋值语句p2=p1是非法的。8、混淆指针说明语句中的*号和执行语句中的*号。设有以下说明语句:int *p1, i=1;则 *p1=&i;是不合法的。9、误将函数形参和函数中的局部变量一起定义。 例如: fu
4、n(x,y)float x, y, z;x+; y+; z=x+y; 修改:fun(float x, float y)float z;x+;y+; z=x+y; 10、调用的函数在调用前未定义。11、混淆结构体类型名和结构体变量名。 若定义了以下结构体类型student: struct student long int num; char name20; int age; float score; ; 则赋值语句:student.num=199401;是错误的。二、第二类错误分析 1、在用scanf函数给普通变量输入数据时,在变量名前漏写地址运算符&。 如:scanf(dd, x, y
5、); 2、在scanf函数调用语句中,企图规定输入实型数据的小数位。 如执行以下语句: scanf(6.2f, &a); 3、输入数据时的数据形式与要求不符。 用scanf函数输入数据时,必须注意要与scanf语句中的对应形式匹配。如: scanf(d,d,&x, &y); 若按以下形式输入数据: 2 4 是不合法。数据2和4之间应当有逗号。 4、输入、输出时的数据类型与所用格式说明符不匹配。 例如有以下说明语句: int x=1; float y=2.5; 则运行时执行语句 printf(x=f, y=dn, x, y); 将给出与原意不符的结果:(在TURBO C
6、2.0 下运行) 5、混淆"="和"="。 在C语言中,"="赋值运算符,"="是关系运算符。 6、在不该出现分号的地方加了分号。 例如:if(xy); printf(x is larger than y. n); 7、对于复合语句,忘记加花括号。 例如: i=1; a=0; while (i=10) a+=i; i+; printf(a=dn,a); 8、误把数组说明时所定义的元素个数作为最大下标值使用。 C语言规定,引用数组元素时下标从0开始,即下标值的下限为0,而下标的上限值是数组定义时元素个数减1。9、在s
7、witch语句的各分支中未使用break语句。 例如: switch(grade) caseA: printf(85 100n); caseB: printf(70 84n); caseC: printf(60 69n); caseD: printf(60n); default: printf(Errorn); 10、混淆break语句和continue语句的作用。 例如: do scanf(d,&x); if(x0) break; printf(dn,x); while(x! =0);11、使用+或-运算符时易犯的错误。 如:main() int a5=1,2,3,4,5,*p; p=a; printf(dn,*(p+); 12、误解形参值的变化会影响实参的值。 例如: main() int a=1, b=3; swap(a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 加气混凝土切割工冲突管理评优考核试卷含答案
- 民用机场场务设备机务员班组建设水平考核试卷含答案
- 选矿过滤脱水工安全行为测试考核试卷含答案
- 智研咨询-中国半导体设备特殊涂层零部件行业市场集中度、市场运行态势及未来趋势预测报告(2026版)
- 2026年说课稿中运用信息技术
- 糖尿病足溃疡的创面负压封闭引流护理
- 防暑用品采购协议合同二篇
- 高教版(第三版)说课稿-2025-2026学年中职中职专业课职业发展和就业创业公共课程
- 精神科团体治疗小组动力维持技术应用
- 精准招募模式构建
- GB/T 47432-2026合规管理体系有效性评价
- 2026重庆南州城市管理服务有限公司招聘生产人员招聘15人考试模拟试题及答案解析
- 2025年湖南师范大学附属小学事业编制教师招聘真题
- 2025年甘肃中国铁路兰州局集团有限公司招聘普通高校毕业生665人(本科及以上学历)笔试历年参考题库附带答案详解
- 2026年北京市中考物理二轮突破:实验题基础题(含解析)
- 2026年四川省安全员-A证考前冲刺练习题含答案详解(达标题)
- 2026光伏组件回收产业链构建与环保政策研究
- 2025年环境影响评价师考试真题及答案
- 医院IT外包运维解决方案(医院信息化运维服务方案)
- 2026云南大理州现代农业发展(集团)有限公司下属公司社会招聘7人笔试参考题库及答案解析
- 水利工程施工环境保护监理规范
评论
0/150
提交评论