打印并且在代码里显示较多的字符
01、问题所在
有时候为了打印较多的字符不得不换行(因为在屏幕上不方便阅读)
//例如这段代码,字符串太长了没有办法在屏幕上完全显示,会带来阅读上的困扰
#include<stdio.h>
int main()
{
printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
return 0;
}
但是如果使用键盘上的“回车”对字符串进行“实际上”的换行并不会解决问题(编译器会忽略或者出错,下面例子使用的编译器是VS2022)
提示错误如下:
02、解决问题
以下提供三种方法打印较长的字符:
- 第一种方法:多个printf的使用(稍微麻烦,要写多次的printf函数)
- 第二种方法:使用符号\ (注意使用“\”后,换行后的内容要从最左边开始写,不能进行代码的递进,不然会多打印出空格的)
- 第三种方法:使用多串字符串并且直接在代码里换行(这是利用了在ANSI C里引入的“字符串连接”,即在两个用双引号括起来的字符串之间用空白隔开,编译器会认为这两串字符串看作是一串字符串)
#include<stdio.h>
int main()
{
//第一种方法:多个printf的使用
printf("abcdef");
printf("ghijkl");
printf("mnopqr\n");
//第二种方法:使用符号“\”
printf("abcdef\
ghijkl\
mnopqr\n");
//第三种方法:使用多串字符串并且直接在代码里换行
printf("abcdef"
"ghijkl"
"mnopqr");
return 0;
}