c语言中说在文件结尾没有换行是怎么回事

如题所述

很多编译器都会检查源文件最后的换行符,如果没有就给出警告如 last line of file ends without a newline,并不影响结果,如果实在有强迫症就在c文件结束 多敲一行回车追问

[Warning] C:\Users\Administrator\Documents\C-Free\Temp\未命名3.cpp:17:2: warning: no newline at end of file
我编时出现这个请问是什么原因?能修复吗?

追答

在最后一行敲一下回车

温馨提示:答案为网友推荐,仅供参考
第1个回答  2021-02-24
原因应该是:
文本文件最后一行的末尾是否要带个换行符,这个用Unix下的文本编辑器整文本文件最后一行都是有这个换行符的, 但是有些IDE软件或者是Windows下文本编辑器可能就是在写文本的时候就是在最后一行没有这个换行符号, 但是这些文件放到Linux/Unix下编译就提示这个错误, 意思是不符合我的标准了, 也只是Warning, 你就选择忽略,或者:
1.简单的做法是: 用Linux下的vim/gedit打开在最后面增加一行,然后再把这个行删除,再保存就好了!
2. 如果这样的文件很多想统一处理, 就把这些文件都找出来然后, 都用这个命令处理一下就可以了: sed -i -r '$s/\n?$/\n/g' xxx.c
相似回答