C 语言学习的第 04 课:编译器常见错误和警告(1)
同学们可能已经开始使用 C-Free 5 写自己的程序了。但是新手编程,总是会有一些磕磕绊绊。不要紧,在这篇文章中,就主要来了解一些编程开始时经常会遇到的语法方面的问题。
- warning: no newline at end of file

出现此警告,不用太过于担心,仅仅是".c"文件的最后面,没有一个空行。你只需要每次写完代码后,都随手添加一个回车就可以了。至于原因,因为C-Free 5默认的编译器是 GCC,它来自于 Unix 系统,而 Unix 系统中默认的回车和 Windows 系统稍有不同,此警告与此相关,更多信息可以扩展阅读:http://blog.csdn.net/wjcquking/article/details/6634504。
- undefined reference to `WinMain@16'

出现此警告(错误)的原因是你可能将主函数main typo成为其他的单词。同学们需要注意的是,虽然在刚刚开始的C语言课程上,老师会一再强调,C语言编译出来的程序,是从main函数的第一行开始执行的(也就是一个程序的入口)。这样的强调,可能会让你有C语言离开"main"就不行的错觉。实际上,让main函数作为程序的入口,仅仅是一种约定俗成。可以通过编译器的编译选项,手动指定程序的入口。另外,还需要注意的是,虽然main那么重要,但是它并不是C语言的关键词。比如你可以尝试在程序中定义一个变量:int main。虽然看起来很奇怪,但是它是对的。
- error: syntax error before

出现类似的错误,那就一定要检查在对应的行号附近,是不是少了点什么东西。比如标志一句话结束的";"等。
- error: stray '\xxx'

出现此类错误,那就要检查下,是不是在程序中,本应该使用英文状态的标点符号错用成中文的。
暂时就总结这几种常见的错误,以后根据同学们的作业内容,再进行更新吧。
C 语言学习的第 04 课:编译器常见错误和警告(1)的更多相关文章
- C 语言学习的第 03 课:你的 idea 是怎么变成能够执行的程序的
在上一篇文章中,我们说到,C 语言系统应该由程序开发环境,C 语言本身和 C 语言的库组成.且同时说了程序开发环境做了“编写”,“预处理”,“编译”和“链接”这几件事情.但是细节并没有一一呈现.不知道 ...
- C 语言学习的第 05 课:C 语言基础(01)
C语言程序中的绝大部分应该记录在以.c作为扩展名的文件里,这种文件叫做C语言 程序的源文件. C语言中还包括以.h作为扩展名的文件,这种文件叫做头文件. C语言中的四则运算: 加:+ 减:- 乘 ...
- C 语言学习的第 02 课:C 语言的开发环境
工欲善其事,必先利其器.不知道还是不是记得上一篇文章中说到的,计算机本身是一个数据输入及输出的设备.所以,为了将你大脑中的各种 idea 输入到电脑,且最终生成能够执行的程序,总是要预备点什么的. 通 ...
- C 语言学习的第 01 课:先来聊聊计算机吧
各位同学,新学期,我就是你们的助教了.我的个人信息,你们的任课老师都已经介绍过了,所以我这里也就不再啰嗦.下面,来聊聊今天的话题:“先来谈谈计算机吧”. 想必看到这个题目,你们大家一定是不愿意点击进来 ...
- Java语言学习day29--8月04日
今日内容介绍1.Object2.String3.StringBuilder ###01API概念 * A:API(Application Programming Interface) * 应用程序编程 ...
- C 语言学习的第 05 课:了解课程配套的平台
在此之前,已经同授课老师沟通,确认课程的配套平台是Coding.net.对于大多数(甚至是全部)同学来说,这个平台应该是极其陌生的.不过不用担心,且还是娓娓道来. 定义:Coding.net是一个集代 ...
- 使用wubi安装ubuntu14.04出现的常见错误的解决办法
花了一天的时间终于安装上了Ubuntu14.04,过程坎坷,是血泪史,开始报“cannot download the metalink and therefore the ISO”错误,解决后,又报“ ...
- 18 11 04 初用单片机 c语言学习
---恢复内容开始--- 1 作为单片机使用的的 c 语言学习 ++ 增位运算符 在原有基础上加一 -- 相同 由于单片机只有 ~ 取反 & 两个 参数里有没有 | 两个 参数里有没有 ^ 两 ...
- 20155229-付钰涵-分析自我技能延展到c语言学习状况
我的小技能 我记得幼儿园时表演的舞蹈,也记得从水彩到素描的学习,还记得小学和初中获得的钢琴省级奖项. 舞蹈止于一年级,绘画止于三年级,钢琴从学前班到高一那十年的时间里有过断续. 03年-04年的那个冬 ...
随机推荐
- proteus 运行出错,用户名不可使用中文!
仿真的时候提示如图提示 cannot open ’c\user\小名\AppData\local\temp\LISA0089.sdf’ 系统用户名不能是中文! 解决办法:重新建立个账户,记得用英文命名 ...
- Eclipse RCP实用小技巧
1.插件Plugin工程的build.properties中增加一行,javacDefaultEncoding.. = UTF 2.插件Plugin工程的Runtime的classpath中加入.
- For循环案例---九九乘法表
概述:先创建一个Print99类,类中创建5个方法,分别为Test9901.Test9902.Test9903.Test9904.Test9905,分别打印出不同形状的九九乘法表,该类创建完成后再创建 ...
- python数字图像处理(9):直方图与均衡化
在图像处理中,直方图是非常重要,也是非常有用的一个处理要素. 在skimage库中对直方图的处理,是放在exposure这个模块中. 1.计算直方图 函数:skimage.exposure.histo ...
- CF719C. Efim and Strange Grade[DP]
C. Efim and Strange Grade time limit per test 1 second memory limit per test 256 megabytes input sta ...
- openjudge6047分蛋糕[DP]
描述 有一块矩形大蛋糕,长和宽分别是整数w .h.现要将其切成m块小蛋糕,每个小蛋糕都必须是矩形.且长和宽均为整数.切蛋糕时,每次切一块蛋糕,将其分成两个矩形蛋糕.请计算:最后得到的m块小蛋糕中,最大 ...
- 搞netty
开始搞netty了 查了下资料 在使用NIO 的时候,最好不要配置 SO_LINGER,假设设置了该參数,在 close的时候如缓冲区有数据待写出,会抛出 IOException. // 在netty ...
- EF的入门使用 (电影管理)
控制器代码: public class HomeController : Controller { private NewDBContext ndc = new NewDBContext(); pub ...
- iOS多线程之NSOperation详解
使用NSOperation和NSOperationQueue进行多线程开发,只要将一个NSOperation(实际开发中需要使用其子类 NSInvocationOperation,NSBlockOpe ...
- BZOJ 1208: [HNOI2004]宠物收养所
1208: [HNOI2004]宠物收养所 Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 7514 Solved: 2982[Submit][Sta ...