C语言-书写长字符串时的换行方法
<p style="text-indent: 2em;">在编写C程序时,如果想要打印某个字符串,而字符串的内容比较多,这就涉及到对这个长字符串进行书写换行,这里的换行并不会对最终的显示结果进行换行,只是为了阅读代码能够更加的清晰,不至于字符串的内容过长影响代码的阅读体验。<br/></p><p class="artical_littlestyle1">1.长字符串示例</p><pre class="brush:cpp;toolbar:false PrismJs">/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail.com)
* blog: www.only2fire.com
* @brief
* @version 1.0
* @date 2021-09-25
*
* @copyright Copyright (c) 2021
*
*/
#include <stdio.h>
int main(void)
{
char name[] = "Ailson Jack";
int age = 18;
printf("Hello, My name is %s.\r\nI am %d years old this year.\r\nNice to meet you.\r\nCan I make friends with you?\r\nI like programming in C very much.\r\n", name, age);
while (1);
return 0;
}</pre><p style="text-indent: 2em;">上述代码需要打印的字符串内容比较长,在代码阅读软件中,可能需要拖动水平方向上的滚动条,才能看清楚字符串的完整内容,这极大的影响了代码的阅读效率。下图是上述代码的运行结果:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2021.09.26/204931768947262.png" onclick="preview_image('/uploads/AilsonJack/2021.09.26/204931768947262.png')"/></p><p class="artical_littlestyle2">2.书写长字符串的换行方法</p><p style="text-indent: 2em;"><strong>方法一:利用双引号对长字符串进行换行</strong><br/></p><p style="text-indent: 2em;">在对长字符串进行书写换行时,可以使用双引号将长字符串拆分成多个子字符串,编译器在编译处理时会自动的拼接这些子字符串,不会影响最终想要的显示效果,示例代码如下:</p><pre class="brush:cpp;toolbar:false PrismJs">/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail.com)
* blog: www.only2fire.com
* @brief
* @version 1.0
* @date 2021-09-25
*
* @copyright Copyright (c) 2021
*
*/
#include <stdio.h>
int main(void)
{
char name[] = "Ailson Jack";
int age = 18;
printf("Hello, My name is %s.\r\nI am %d years old this year.\r\n"
"Nice to meet you.\r\nCan I make friends with you?\r\n"
"I like programming in C very much.\r\n", name, age);
while (1);
return 0;
}</pre><p style="text-indent: 2em;">上述示例的运行结果如下:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2021.09.26/204931768947262.png" onclick="preview_image('/uploads/AilsonJack/2021.09.26/204931768947262.png')"/></p><p style="text-indent: 2em;">运行结果和长字符串未拆分时的效果一样。<br/></p><p style="text-indent: 2em;"><strong>方法二:利用反斜杠对长字符串进行换行</strong><br/></p><p style="text-indent: 2em;">可以使用反斜杠对长字符串进行拆分,反斜杠后的换行符会被C忽略,所以可以拆分字符串,但是下一行的空格会被计算在内,这反斜杠拆分字符串的一个问题吧,示例代码如下:</p><pre class="brush:cpp;toolbar:false PrismJs">/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail.com)
* blog: www.only2fire.com
* @brief
* @version 1.0
* @date 2021-09-25
*
* @copyright Copyright (c) 2021
*
*/
#include <stdio.h>
int main(void)
{
char name[] = "Ailson Jack";
int age = 18;
printf("Hello, My name is %s.\r\nI am %d years old this year.\r\n\
Nice to meet you.\r\nCan I make friends with you?\r\n\
I like programming in C very much.\r\n", name, age);
while (1);
return 0;
}
/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail.com)
* blog: www.only2fire.com
* @brief
* @version 1.0
* @date 2021-09-25
*
* @copyright Copyright (c) 2021
*
*/
#include <stdio.h>
int main(void)
{
char name[] = "Ailson Jack";
int age = 18;
printf("Hello, My name is %s.\r\nI am %d years old this year.\r\n\
Nice to meet you.\r\nCan I make friends with you?\r\n\
I like programming in C very much.\r\n", name, age);
while (1);
return 0;
}</pre><p style="text-indent: 2em;">上述代码的运行结果如下图所示:</p><p style="text-align:center"><img src="/uploads/AilsonJack/2021.09.26/204931049151245.png" onclick="preview_image('/uploads/AilsonJack/2021.09.26/204931049151245.png')"/></p><p style="text-indent: 2em;">运行结果和最终想要的结果还是有差异的,插入了一些不需要的空格,因为反斜杠拆分的字符串会把下一行的空格也计算在内。<br/></p><p class="artical_littlestyle3">3.总结</p><p style="text-indent: 2em;">对长字符串的书写换行,建议使用双引号进行拆分,这是最完美的,显示效果和最终想要的效果是一致的。<br/></p>
暂无评论,要不要来个沙发
发表评论
JLink V9掉固件修复(灯不亮) 3Zephyr笔记2 - 在STM32F429上运行HelloWorld 2计算NandFlash要传入的行地址和列地址 1Linux MMC子系统 - 6.eMMC 5.1工作模式-设备识别模式 0Linux MMC子系统 - 5.eMMC 5.1工作模式-引导模式 0Linux MMC子系统 - 4.eMMC 5.1常用命令说明(2) 0
标签云
Linux嵌入式实用技巧ARM内核学习问题集合CC++编程语言阅读笔记汇编Linux内核完全注释Windows驱动开发计算机基础ARM11ARMv7-ASTM32IDESublimeLinux内核学习eMMCMMC子系统Ubuntu操作系统OfficeVMWareAPUEgccRTOS中断漫游世界随笔感悟开发工具软件应用编程VsCodearmccarmclang编译器ZephyrSPIJLink网卡驱动安装各种芯片库函数NFSμCOS内核sambaFlashUnix命令与脚本输入法Linux内核设计与实现gitRIFFWAVJATGFTPar8161安装centos有线上网μCGUI字库工程建立右键菜单网络文件系统Firefox百度NTFS文件系统CodeBlocksCentOS数据结构算法PhotoShop51KeilQTUltraEditscanfglibc宏定义UIDGID优先级娱乐天地SourceInsight磁盘扇区总线I2CPDFBComparePythonI2SFPUMakefileSWDCPUARP软件推荐FileZilla