C语言程序的错误和警告
2年前 (2024-04-27)
一段C语言代码,在编译、链接和运行的各个阶段都可能会出现问题。编译器只能检查编译和链接阶段出现的问题,而可执行程序已经脱离了编译器,运行阶段出现问题编译器是无能为力的。

图1:Dev C++ 的提示

图2:VC 6.0 的提示

警告(Warning)表示可能会发生错误(实际上未发生)或者代码不规范,但是程序能够正常运行,有的警告可以忽略,有的要引起注意。
错误和警告可能发生在编译、链接、运行的任何时候。
例如,
图4:VS2015 的错误提示

图5:Dev C++ 的错误提示

图6:VC 6.0 的错误提示

可以看出,C-Free 的错误提示信息比较少,不方便程序员纠错。VC 和 VS 的错误信息类似,只是中英文的差别。

翻译:源文件 E:\cDemo\hello.c 第5行发生了语法错误,错误代码是 C2143,原因是 'return' 前面丢失了 ';'。
我敢保证,你写的代码肯定会发生错误,一定要有分析错误的能力,这是一个格的程序员必备的技能。
如果我们编写的代码正确,运行时会提示没有错误(Error)和警告(Warning),如下图所示:

图1:Dev C++ 的提示

图2:VC 6.0 的提示

图3:C-Free 5.0 的提示
错误(Error)表示程序不正确,不能正常编译、链接或运行,必须要纠正。对于 VS、GCC、Xcode 等,如果代码没有错误,它们只会显示“生成成功”,不会显示“0个错误,0个警告”,只有代码真的出错了,它们才会显示具体的错误信息。
警告(Warning)表示可能会发生错误(实际上未发生)或者代码不规范,但是程序能够正常运行,有的警告可以忽略,有的要引起注意。
错误和警告可能发生在编译、链接、运行的任何时候。
例如,
puts("C语言中文网")忘记写分号;,就会出现错误,如下图所示:
图4:VS2015 的错误提示

图5:Dev C++ 的错误提示

图6:VC 6.0 的错误提示

图7:C-Free 5.0 的错误提示
可以看出,C-Free 的错误提示信息比较少,不方便程序员纠错。VC 和 VS 的错误信息类似,只是中英文的差别。
下图分析了 VC 6.0 的错误信息:

图8:错误信息说明
翻译:源文件 E:\cDemo\hello.c 第5行发生了语法错误,错误代码是 C2143,原因是 'return' 前面丢失了 ';'。
我敢保证,你写的代码肯定会发生错误,一定要有分析错误的能力,这是一个格的程序员必备的技能。
- 随机文章
- 香港 马尔代夫 足球(港足夏训地选马尔代夫)
- 马尔代夫语言字体( .)
- 婚纱摄影马尔代夫(马尔代夫婚纱照:浪漫海岛风情拍摄!)
- 你也认识马尔代夫(认识马尔代夫:全球最美丽的度假胜地)
- 再见 马尔代夫 英语(Farewell to Maldives Saying Goodbye to a Paradise Island Destination)
- 斑马旅行马尔代夫(斑马旅行探索马尔代夫的热带极乐世界)
- 松滋马尔代夫探路(松滋旅行社探路马尔代夫,不容错过!)
- 宜昌马尔代夫在哪(宜昌哪里有类似马尔代夫的旅游胜地?)
- 中国 马尔代夫(中国和马尔代夫的友谊继续升温)
- 晚安 马尔代夫(马尔代夫之夜:道晚安)
- 广西网红马尔代夫(广西网红游马尔代夫,美得令人窒息!)
- 广州马尔代夫花园(广州马尔代夫花园:享受浪漫私密空间)
- 豪华马尔代夫旅游(豪华马尔代夫之旅:探索天堂岛国之美)
- 金堂马尔代夫玩法(金堂旅行社推荐:马尔代夫玩法全指南)
- 矿产 马尔代夫(马尔代夫矿产资源现状及未来前景)
- 虎鲨 马尔代夫(马尔代夫湛蓝海域惊现凶猛虎鲨)
- 旅游马尔代夫价位(马尔代夫旅游:预算、行程和攻略指南)
- 阿慕 马尔代夫(重写后的标题:阿慕岛:马尔代夫度假胜地)
- 饶平马尔代夫新闻(饶平医疗队成功完成马尔代夫义诊任务)
- 马尔代夫上期视频(探秘风景如画的马尔代夫——视频欣赏)
- 地图 马尔代夫(探索梦幻马尔代夫:美丽岛屿上的天堂之旅)
- 马尔代夫住宅项目(后:马尔代夫开发商推出全新住宅项目)
- 不丹 马尔代夫(不丹和马尔代夫:两个美丽旅游目的地的比较)
- 马尔代夫促销策略(马尔代夫旅游特惠,优惠多多等你来!)
- 济宁马尔代夫地图(济宁人出发,来一次舒适的马代之旅!)
- 马尔代夫出征时间(马尔代夫出征时间确定,即将开展行动)
- 礁鲨 马尔代夫(马尔代夫珊瑚礁的鲨鱼种类及观察技巧)
- 搓麻 马尔代夫(马尔代夫传统手工艺:手工搓麻技艺保护与传承)
- 重庆网红马尔代夫(重庆网红游马尔代夫,一场全新体验!)
- 青海之旅马尔代夫(青海和马尔代夫双重惊喜——深度游记)
