- 1、本文档共17页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言常见错误分析汇总
?1、
在一个工程里出现两个main函数时
3.obj : error LNK2005: _main already defined in file1.obj
Debug/HELLO.exe : fatal error LNK1169: one or more multiply defined symbols found
这个就是说,你的main函数重定义了。你看看是不是你的工程里面,包含了很多个有main函数的文件?
2、
fatal error C1010: unexpected end of file while looking for precompiled header directive
出现这个错误的原因是,工程类型建错了,应该选择win 32 console application
3、拼写错误
(1)#include stido.h //头文件拼写错了
void main()
{
printf(doeifweofupwp);
}
fatal error C1083: Cannot open include file: stido.h: No such file or directory
(2)#inculde stdio.h//include拼写错了
void main()
{
printf(doeifweofupwp);
}
fatal error C1021: invalid preprocessor command inculde(无效的预编译命令inculde)
(3)#include stdio.h
void mian() //main拼写错了
{
printf(doeifweofupwp);
}
error LNK2001: unresolved external symbol _main
Debug/HELLO.exe : fatal error LNK1120: 1 unresolved externals
你用vc建了一个控制台程序,它的入口函数应该是main.
?
4、
(1)书写标识符时,忽略了大小写字母的区别。
?
main()
?
{
?
int a=5;
?
printf(%d,A);
?
}
? error C2065: A : undeclared identifier(A: 是没有定义/声明的标示符)
编译程序把a和A认为是两个不同的变量名,而显示出错信息。C认为大写字母和小写字母是两个不同的字符。习惯上,符号常量名用大写,变量名用小写表示,以增加可读性。
??
5、忽略了变量的类型,进行了不合法的运算。
?
main()
?
{
?
float a,b;
?
printf(%d,a%b);
?
}
?error C2296: % : illegal, left operand has type float
error C2297: % : illegal, right operand has type float
%是求余运算,得到a/b的整余数。整型变量a和b可以进行求余运算,而实型变量则不允许进行“求余”运算。
??
6、将字符常量与字符串常量混淆。
?
char c;
?
c=a;
?warning C4047: = : char differs in levels of indirection from char [2]
在这里就混淆了字符常量与字符串常量,字符常量是由一对单引号括起来的单个字符,字符串常量是一对双引号括起来的字符序列。C规定以“\”作字符串结束标志,它是由系统自动加上的,所以字符串“a”实际上包含两个字符:‘a和‘\,而把它赋给一个字符变量是不行的。
??
7、忽略了“=”与“==”的区别。
?
在许多高级语言中,用“=”符号作为关系运算符“等于”。如在BASIC程序中可以写?
if (a=3) then …
?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:
?
if (a==3) a=b;
?
前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。
?
?8、忘记加分号。
?
分号是C语句中不可缺少的一部分,语句末尾必须有分号。
?
#include stdio.h
void main()
{
int a,b;
a=1
b=2
printf(%d,%d,a,b);
}
error syntax error : missing ; before identifier b
error C2146: syntax error : missing ; before identifier printf
编译
您可能关注的文档
- case火艺公司团队分析.doc
- catia受压圆环的受力分析.doc
- ceac考试Java程序设计工程师题目.doc
- CEPro2.0录音常见问题解答荟萃.docx
- CFA备考:做题是关键.docx
- CFP综合案例分析章节知识点.doc
- CF手游AWM鎏金评测AWM鎏金价格解析.docx
- cf手游生化地图角斗场分析生化终极模式.doc
- CF活动常见问题汇总6.20更新.doc
- CG动画中常见缺陷分析.docx
- 2025年宝鸡职业技术学院单招(语文)测试题库必考题.docx
- 2025年宜昌科技职业学院单招(语文)测试题库有答案.docx
- 2025年宿州职业技术学院单招(语文)测试模拟题库a4版.docx
- 2025年安徽省芜湖市行政职业能力测验模拟试题完整.docx
- 2025年安徽省合肥市单招(语文)测试模拟题库推荐.docx
- 2025年安徽省巢湖市单招语文测试模拟题库及答案一套.docx
- 2025年安徽林业职业技术学院单招语文测试题库审定版.docx
- 2025年安徽省铜陵市单招(语文)测试题库往年题考.docx
- 2025年安徽省蚌埠市单招(语文)测试题库精编.docx
- 2025年安徽水利水电职业技术学院单招语文测试题库含答案.docx
文档评论(0)