**长的字符串的换行问题**
今天遇到一个不算是问题的问题,为什么这样说呢?首先,它并不会影响程序的运行,所以不算是一个问题。但是呢,它影响了代码的美观,我操作的效率,对于一个码农来说,我不允许出现这种问题。
这个问题就是我要定义一个很长的字符串常量,写成一行的话,编译可以通过,
是这样的:
但是对于整个代码来说,不容易查询,观看,修改等操作,
因为是这个样子的,在我的整个界面中只显示了一小部分,非常头疼。
一换行就是这样的:
编译报错。
经过查阅资料,终于让我找到了解决的办法。在网上找到了一篇博客正好说明了这个问题,为了让我印象更深,所以写了这篇文章。
博客上说,换行写的需要在行的末尾添加一个反斜杠,c语言编译器会忽略行尾的换行符,而把下一行的内容也算作是本行的内容.这里反斜杠起到了续行的作用.构建较长的字符串是续行的常见用途,还有一个作用是定义跨行的宏。
我按照这个方法在行的末尾加了一个反斜杠之后,是这个样子的:
编译通过了。看来这个方法是有用的(哈哈哈)。
另一种方法:
C语言中还有一种拆分字符串的方法,那就是将其写成多个相邻的字符串.这些字符串之间用0个或者多个空格,制作符以及换行符隔开。C语言编译器会自动将这些字符串连接起来。因此,下面的表达式:“我真的” “是” “天才” 实际上相当于 “我真的是天才”。
因此前面跨行的初始化语句也可以用下面的形式完成:
这两种方法都是可行的,请放心使用(hha)。
此文章参考:
原文链接:https://blog.csdn.net/ce123_zhouwei/article/details/12488773