C语言最后为什么要添加换行符

在刚工作的时候 ,就看到有同事因为编译报错 导致被通报。最后排查报错原因竟是因为有个文件

最后没有添加换行符。为此接口人给我们开会,将这个报错作为点检表里。

今天在玩STM32的时候写了一个程序,很简单,但是会有一警告。h

#include "stm32f10x.h"                  // Device header

int main(void)
{
	while (1) {
	
	}

}

/*
*** Using Compiler 'V5.06 update 5 (build 528)', folder: 'D:\MDK\ARM\ARMCC\Bin'
Build target 'Target 1'
compiling main.c...
User\main.c(9): warning:  #1-D: last line of file ends without a newline
  }
User\main.c: 1 warning, 0 errors
linking...
Program Size: Code=648 RO-data=252 RW-data=0 ZI-data=1632  
".\Objects\project_fiist.axf" - 0 Error(s), 1 Warning(s).
Build Time Elapsed:  00:00:01
*/

这warning的意思就文件最后一行没有新的一行,也就文件最后一行代码需要加上换行符,以此来添加一行没有代码的空行。 

询问AI的大致意思就是说:

  • 在Unix/Linux系统中,文本文件的每一行都被定义为以换行符(\n)结束的字符串。即使文件的最后一个字符是换行符,它也属于最后一行的一部分。这种规范使得文件的处理更加统一和方便。

  • 如果文件最后一行没有换行符,某些工具(如wc命令)可能会将最后一行视为不完整行,从而导致统计结果不准确。

而我们知道C语言在Unix/Linx是有着不可替代的作用,所以为了保证代码的规范,在设计处的时候就保留这习惯。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值