C语⾔长字符串的换⾏⽅法详解
⽬录
1.长字符串⽰例
2.书写长字符串的换⾏⽅法
⽅法⼀:利⽤双引号对长字符串进⾏换⾏
⽅法⼆:利⽤反斜杠对长字符串进⾏换⾏
3.总结
在编写C程序时,如果想要打印某个字符串,⽽字符串的内容⽐较多,这就涉及到对这个长字符串进⾏书写换⾏,这⾥的换⾏并不会对最终的显⽰结果进⾏换⾏,只是为了阅读代码能够更加的清晰,不⾄于字符串的内容过长影响代码的阅读体验。
1.长字符串⽰例
/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail)
* blog: ly2fire
* @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;
}
上述代码需要打印的字符串内容⽐较长,在代码阅读软件中,可能需要拖动⽔平⽅向上的滚动条,才能看清楚字符串的完整内容,这极⼤的影响了代码的阅读效率。下图是上述代码的运⾏结果:
下⾯提供两种⽅法来将长字符串的单⾏书写变成多⾏书写。
2.书写长字符串的换⾏⽅法
⽅法⼀:利⽤双引号对长字符串进⾏换⾏
在对长字符串进⾏书写换⾏时,可以使⽤双引号将长字符串拆分成多个⼦字符串,编译器在编译处理时会⾃动的拼接这些⼦字符串,不会影响最终想要的显⽰效果,⽰例代码如下:
/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail)
* blog: ly2fire
* @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;
}
上述⽰例的运⾏结果如下:
运⾏结果和长字符串未拆分时的效果⼀样。
⽅法⼆:利⽤反斜杠对长字符串进⾏换⾏
可以使⽤反斜杠对长字符串进⾏拆分,反斜杠后的换⾏符会被C忽略,所以可以拆分字符串,但是下⼀
⾏的空格会被计算在内,这反斜杠拆分字符串的⼀个问题吧,⽰例代码如下:
/**
* @file test.c
* @author Ailson Jack (jackailson@foxmail)
* blog: ly2fire
* @brief
c语言定义一个字符串* @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;
}
上述代码的运⾏结果如下图所⽰:
运⾏结果和最终想要的结果还是有差异的,插⼊了⼀些不需要的空格,因为反斜杠拆分的字符串会把下⼀⾏的空格也计算在内。
3.总结
对长字符串的书写换⾏,建议使⽤双引号进⾏拆分,这是最完美的,显⽰效果和最终想要的效果是⼀致的。
本篇⽂章就到这⾥了,希望能够给你带来帮助,也希望您能够多多关注的更多内容!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论