电脑常用操作——c语言常见错误分析

电脑常用操作——c语言常见错误分析

ID:39156858

大小:20.43 KB

页数:7页

时间:2019-06-25

电脑常用操作——c语言常见错误分析_第1页
电脑常用操作——c语言常见错误分析_第2页
电脑常用操作——c语言常见错误分析_第3页
电脑常用操作——c语言常见错误分析_第4页
电脑常用操作——c语言常见错误分析_第5页
资源描述:

《电脑常用操作——c语言常见错误分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言常见错误分析C语言常见错误分析:错误分类语法错逻辑错运行错0.忘记定义变量:main(){x=3;y=6;printf(“%d”,xy);1.C语言的变量一定要先定义才能使用;2.输入输出的数据的类型和所用格式说明符不一致inta=3;floatb=4.5;printf(“%f%d”,a,b);他们并不是按照赋值的规则进行转换(如把4.5转换为4),而是将数据在存储单元中的形式按格式符的需要组织输出(如b占4个字节,只把最后两个字节的数据按%d,作为整数输出)3.未注意int型数据的数值范围int型数据的数值范围(-32768~32768

2、)intnum=89101;printf(“%d”,num);会将超过低16位的数截去从而得到23563注意:定义了long型,而在输出时仍用”%d”说明符,仍会出现以上错误4.输入变量时忘记使用地址符scanf(“%d%d”,a,b);5.输入时数据的组织和需要不符对scanf函数中格式字符串中除了格式说明符外,对其他字符必须按原样输入6.误把”=“作为”等于”比较符“=“为附值运算符“==“为比较运算符7.语句后面漏分号{t=a;a=b;b=t}他是pascal的语法8.不该加分号的地方加了分号if(a>b);printf(“aislarg

3、erthanb”);for(i=0;i<10;i);{scanf(“%d”,&x);printf(“%d”,x*x);}9.对应该有花括弧的复合语句,忘记加花括弧sum=0;i=1;while(i<=100)sum=sum1;i;10.括弧不配对while((c=getchar()!=‘#’)putchar(c);11.在用标识时,忘记了大写字母和小写字母的区别{inta,b,c;a=2;b=3;C=AB;printf(“%d%d=%D”,A,B,C);}12.引用数组元素时误用发圆括弧{inti,a(10);for(i=0;i<10;i)sc

4、anf(“%d”,&a(i));}13.在定义数组时,将定义的”元素个数”误认为是”可使用的最大下标值{inta[10]={1,2,3,4,5,6,7,8,9,10};inti;for(i=1;i<=10;i)printf(“%d”,a);}14.对二维或多维数组的定义和引用的方法不对{inta[5,4];„printf(“%d”,a[12,22]);„}15.误以为数组名代表数组中全部元素{inta[4]={1,2,3,4};printf(“%d%d%d%d”,a);}16.混淆字符数组和字符指针的区别main(){charstr[40];s

5、tr=“Computerandc”;printf(“%s”,str);}17.在引用指针变量之前没有对他赋予确定的值{char*p;scanf(“%s”,p);}{char*p,c[20];p=c;scanf(“%s”,p);}18.switch语句的各分支中漏写break语句混淆字符和字符串的表示形式„charsex;sex=“M”;„19.使用自加()和自减(--)运算符时出的错误{int*p,a[5]={1,3,5,7,9};p=a;printf(“%d”,*p);}注意于*(p)的区别;20.所调用的函数在调用语句之后才定义,而又在调用

6、前未加说明main(){floatx,y,z;x=3.5;y=-7.6;z=max(x,y);printf(“%f”,z);}floatmax(floatx,floaty){return(x>y?x:y);}21.误认为形参值的改变会影响实参的值swap(intx,inty){intt;t=x;x=y;y=t;}main(){inta,b;a=3;b=4;swap(a,b);printf(“%d,%d”,a,b);}22.函数的实参和形参类型不一致fun(floatx,floaty)main(){inta=3,b=4;c=fun(a,b);„}

7、23.不同类的型指针混用{inti=3,*p1;floata=1.5,*p2;p1=&i;p2=&a;p2=p1;printf(“%d,%d”,*p1,*p2);}24.没有注意函数参数的求值顺序inti=3;prinft(“%d,%d,%d”,i,i,i);结果为5,5,4因为VC是采取自右至左的顺序求函数的值C标准没有具体规定函数参数求值的顺序25.混淆数组名和指针变量的区别{inti,a[5];for(i=0;i<5;i)scanf(“%d”,a);}{inta[5],*p;p=a;for(inti=0;i<5;i)scanf(“%d”,

8、p)}{inta[5],*p;for(p=a;p

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。