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

上传人:cn****1 文档编号:466937579 上传时间:2022-11-13 格式:DOC 页数:5 大小:20KB
返回 下载 相关 举报
C语言常见错误及解决方法_第1页
第1页 / 共5页
C语言常见错误及解决方法_第2页
第2页 / 共5页
C语言常见错误及解决方法_第3页
第3页 / 共5页
C语言常见错误及解决方法_第4页
第4页 / 共5页
C语言常见错误及解决方法_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《C语言常见错误及解决方法》由会员分享,可在线阅读,更多相关《C语言常见错误及解决方法(5页珍藏版)》请在金锄头文库上搜索。

1、C语言常用错误及解决措施既然我前边总结了那么多有关C语言常用错误那么目前给人们分享一下C语言常用错误及解决措施,有关C语言常用错误及解决措施是针对人们的通病说提出的解决措施,人们可以参照一下。C语言常用错误及解决措施一、基本知识和数据类型、体现式、掌握核心词的具体用法及合用范畴对象。1、 拼写错误,特别是iclde,main,voi,lo等词。语言的2个核心字与基本含义如下:doule :声明双精度变量或函数in: 声明整型变量或函数har:声明字符型变量或函数flo:声明浮点型变量或函数void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)auto :声明自动变量一般不使

2、用strut:声明构造体变量或函数beak:跳出目前循环els :条件语句否认分支(与 f 连用)ln :声明长整型变量或函数 swtch :用于开关语句cae:开关语句分支 nu :声明枚举类型 registr:声明积存器变量 ypedef:用以给数据类型取别名(固然尚有其她作用)exe:声明变量是在其她文献正声明(也可以看做是引用变量) retur :子程序返回语句(可以带参数,也看不带参数) union:声明联合数据类型 onst:声明只读变量 short :声明短整型变量或函数unsind:声明无符号类型变量或函数continue:结束目前循环,开始下一轮循环 or:一种循环语句(可意

3、会不可言传) signed:生命有符号类型变量或函数 efalt:开关语句中的“其她”分支 goto:无条件跳转语句 izeof:计算数据类型长度 voatle:阐明变量在程序执行中可被隐含地变化do :循环语句的循环体hile:循环语句的循环条件static :声明静态变量if:条件语句2、 ,,(),“”不配对。解决这个问题最佳的措施就是每当写这些符号的时候就先写成一对,然后再在中间加内容。、 忘掉在语句的末尾加分号,或在预解决命令后多加分号。记住:每一种语句的后边都要加分号,而预解决命令并不是语句,因此不加分号,她们必须每行一条,不能把多种命令写在一行。4、 混淆/和;注释相应的符号是,

4、而转义字符是以开头,除号是/。5、 prif()和scaf()的参数设立有误,重要表目前如下几方面:l 类型不匹配的问题。(例如:有float a3,但输出的时候printf(“a=d”,a);则屏幕上会显示出a=0.0000或者提示其他运营错误)。基本原则是:ft相应%f, i相应%d,cha相应%c。l 个数不匹配。无论是哪个函数,都可以有个参数,第一种永远是“”括起来的内容,表达输出格式。剩余的n-个是输出的变量或者输入的变量的地址。需要注意的是,如果后边有n-个参数,那么前边一定相应n1个f一类的格式阐明符。l scn()中变量前忘了加。记住:scanf()中变量前要有(但后边学到的字

5、符数组名和指针前不用加)6、 定义标记符的时候常常浮现使用非法字符的状况,例如:标记符中不能用空格,也就是说不能有这样的定义:i rdim f crcle;一般状况下可用下划线将三个单词连接在一起。7、 在使用变量前未定义,或未初始化。例如:若下边的sum未定义,则在编译时会提示相应的错误信息,而若未初始化为0,则求和的成果一定是错误的。vodmin() intI,a0, sum=0; for(I=;I1;I+)sum+=a;pritf(“%d”,sm);8、 符合常量定义错误 。例如:einPI=3.14159,这里的=应当换成空格。9、 计算错误。重要注意:+,和其他运算符一起运算时,除根

6、据优先级进行计算时,还要考虑先后位置的特殊含义;数据类型不一致时发生的自动转换也会导致计算的误差;还要注意求模成果的符号与被除数相似;某些特殊状况下 使用懒惰求值法。1、不能除以0,要做合法性检查;11、类型溢出。记住每种数据类型的取值范畴,保证数据在所定义类型范畴之内;1、数学体现式的格式有误。常用的有:(1)数学与C语言运算体现式的混淆(例如:表达赋值,而= =才表达我们数学中的相等关系)。(2)、忽视了运算的优先级。解决这个问题的最佳措施就是写数学体现式时不要从左到右,而是按优先级的顺序写,写完优先级高的一种体现式后加上()再写下一级的体现式,例如:计算梯形的面积时,要s=(a)h)/2

7、,不要12*+b*h. (3)忽视了计算和赋值时的自动转换。例如:floa half=1/2;这样,由于右边是整数相除的成果为整数0,不会得到0.存入alf,进而会影响下边的计算成果。要想不在这儿绊跟头,当计算不同类型的数据时,一定注意会不会浮现引起错误的自动转换,建议最佳加上强制转换。(4)赋值号左边不是变量,例如:若有#defne PI.14,程序中又浮现I=3.1415。又例如:f(n)=f(n-)*n(这是典型的数学语言,在C语言中右边的乘积不能对的存储,而左边又是一种函数调用)。3、使用库函数前,特别是数学函数忘了加#iclde。C语言常用错误及解决措施二流程控制,理解控制流程的来龙

8、去脉,掌握起运营规律。1、 丢掉语句结束标记“;”,特别是r语句中体现式后或dohe语句后的分号,或在预解决命令后边、whe()后、fr()后加“;”;2、 If语句或循环语句中逻辑体现式或关系体现式书写错误。一定要注意C语言的条件与数学体现式的区别(例如我们数学中常常写到的0x9,在C语言中应当写成x=0&=9)。3、 if-ele嵌套时不配对。最佳在写每个条件时要用两个分别将两个分支先括起来,再添加其中的语句,以保证其配对不易错。4、 swich()语句中的格式不对的。()中的体现式成果一定是某些明确的值,不能是区间;体现式的所有也许成果要列在cae后边,as与常量之间有一空格,不要丢掉必

9、要的bak;5、 随意修改循环控制变量i的值,导致循环次数的变化,特别是当循环有嵌套时。在循环体中,不要将循环控制变量进行此外的变化。6、 分不清什么状况下用双重循环,什么状况下用两个控制变量写成一重循环。当不变,j又循环一遍的时候用双重循环。当I,j同步变化的时候用一重循环,此时,循环控制变量有两个,但条件只写一种就可以,由于另一种总是进行相应的变化的。、 忽视循环体与循环控制变量的关系。其实,诸多状况下,循环控制变量都在循环体中起到非常重要的作用。应当运用上这种关系。三、数组与指针1、 字符串的输入有错误:重要表目前使用scan()或gets()时加了&,或输入字符串时用循环,(这样的话,

10、字符个数无论多长,都不会为自动加,将来引用的时候也就不能以字符串的形式引用。)2、 对字符串的解决中,循环条件仍然写成N。由于字符串是不定长的,因此循环条件一般为stI!0或stren(t)3、 而输入所相应的变量是指针时(常用的有:输入的变量是字符数组名或指向字符串的指针)不能加。4、 指针定义后未赋值就引用。如果在定义时不懂得赋什么值,可以用p=NULL赋初值,以避免引起的劫难性错误。、 分不清p和*p。前者是指针,即地址,后者表达指针所间接引用的数据,但如果是二级指针或多级指针,取*后来得到的仍然也许是地址。四、函数1、函数定义的时候,函数头部加分号,而函数声明的地方忘了加分号2、 函数

11、实参格式不对,重要表目前:给出实参时,多给出数组类型,或者,形参是数组nt a;的时候,给出的a或3、 递归时忘了设立边界条件,这样易导致死循环调用。4、使用函数之前未声明(涉及C库函数的声明)。建议人们,将所定义的一切函数都在程序开始的预解决命令后加上函数原型的声明,这样做不仅可以避免错误,并且整个程序的构造看起来更清晰。五、构造体共用体1、 构造体类型定义有误,重要表目前:构造体类型里尚有嵌套的时候,忘掉了成员名称。(例如:下边的例子中,有些同窗常常忽视了ithda)2、 构造体类型名和构造体变量名混淆。例如:stuct T.Struct atint ar,month,day;ithda;

12、truc U ;strct ST是类型名称,并且不分派空间,且不能直接引用。只有定义了构造体类型strut 的变量a后来,才为a分派相应的内存空间,引用时也要是a???3、 构造体变量的成员引用不对的,特别是当构造体类型中有嵌套定义的时候。一定要一级一级的引用。例如:上边的例子:如果引用其中的年的话,一定是a.birtday.yer 不能直接a.ear.4、 对构造体变量进行输入输出的时候,整体输入或整体输出。除作为函数参数外,不能对构造体变量整体操作,只能一种成员一种成员地输入、输出。、 不理解共用体的“共占内存”。对共用体中的成员变量,一定要靠一种标记区别它们,并分别按不同类型引用它们。牢记:共用体变量不能做函数形参。六、文献1、 使用之前没有打开文献,使用之后没有关闭文献。2、 有关函数的调用格式有误。请一定注意实参的类型、顺序、个数上与函数原型(或函数声明)的一致。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号