在C中,有时因为代码太长会导致其无法在一行中写下(比如宏定义),此时便需要续行符的使用了,“\”便是C中的续行符,最好在它的后面直接添加回车,在下一行再添加注释这一类“杂物”,来提高程序的可理解性。
一般而言,续行符较多地是被用于宏定义中,为了便于人们对宏的理解。
比如说:#define SomeFun(x,a,b) if(x)x=a+b;else x=a-b;
上述代码的理解便比较难,而使用续行符对之进行修饰后,代码的可读性就增加了。
#define SomeFun(x,a,b)\
if(x)\
x=a+b;\
else \
x=a-b;
但续行符其实是连接到了下一行的开始地方,如果在下一行的开头用空格来将函数的格式对齐,有时便会造成意料外的结果。
比如下列宏定义:
#define XX_DEBUG(fmt,arg...) printf("\033[41;32m <<-XXX-DEBUG->>[%s]\
[%d]\033[0m \033[34m"fmt"\033[0m\n",__FUNCTION__,__LINE__, ##arg)
其运行结果便为:
因此,换行符的后接空格需要考虑到。
改变printf的字体的详细信息见另一篇博客:http://blog.youkuaiyun.com/qwe15954250805/article/details/77620572