C 语言学习的第 04 课:编译器常见错误和警告

Posted 记东记西的 BLOG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C 语言学习的第 04 课:编译器常见错误和警告相关的知识,希望对你有一定的参考价值。

同学们可能已经开始使用 C-Free 5 写自己的程序了。但是新手编程,总是会有一些磕磕绊绊。不要紧,在这篇文章中,就主要来了解一些编程开始时经常会遇到的语法方面的问题。

  1. warning: no newline at end of file

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

  2. undefined reference to `WinMain@16\'

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

  3. error: syntax error before

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

  4. error: stray \'\\xxx\'

    出现此类错误,那就要检查下,是不是在程序中,本应该使用英文状态的标点符号错用成中文的。

     

    暂时就总结这几种常见的错误,以后根据同学们的作业内容,再进行更新吧。

以上是关于C 语言学习的第 04 课:编译器常见错误和警告的主要内容,如果未能解决你的问题,请参考以下文章

第23课 #error 和 #line 使用分析

C 语言学习的第 03 课:你的 idea 是怎么变成能够执行的程序的

用c语言链表编写一个学生信息系统程序,要求输出学生的学号,姓名,性别,还有三门课比如语,数,外的成绩

C语言实训

C语言不管输入啥,编译之后都是一个错误,零个警告。请问这是怎么回事?

最短的C程序,还是会导致段错误