C语言中如何让文件以换行符结尾?代码实现是否正确?
问题解答
先搞清楚两个核心概念
学校要求的**“文件需以换行符结尾”,指的是你要提交的C语言源代码文件本身**最后一行必须以换行符收尾,和你的程序运行时输出什么完全没关系。
你的当前写法是错的
你写的printf("\n");是让程序运行时输出一个换行,这是程序的输出内容要求,和源代码文件本身的格式要求不沾边。
为什么#endif后加换行报错?
正常情况下,在源代码的#endif后面直接敲回车加换行是完全合法的,不会导致编译错误。如果真的报错,先检查是不是不小心输入了其他非法字符,或者编辑器的换行格式(比如Windows的CRLF和Linux的LF差异,但主流编译器都兼容两种格式)。
正确的操作方式
打开你的C源代码文件,把光标移到#endif的末尾,按回车键添加一个空白行(确保文件的最后一个字符是换行符),然后保存文件即可。这才是满足学校要求的正确做法。
内容的提问来源于stack exchange,提问作者sauce
相关产品推荐
相关产品推荐

