C语言中语句的跨行支持总结:
- 预处理一行写不下:
把一个预处理指示写成多行要用“\”续行,因为根据定义,一条预处理指示只能由一个逻辑代码行组成。 - 正常程序一行写不下:
把C代码写成多行则不必使用续行符,因为换行在C代码中只不过是一种空白符,在做语法解析(语法分析)时所有空白符都被丢弃了。 - 字符串常量跨行
\n只能在一行中起作用
\可以实现跨行写,但是不能自动换行,只能起连接作用,可以跨行写
但是\n与\连起来用就能既换行又能跨行写
对于洛谷的这个问题的解答:
#include <stdio.h>
int main()
{
printf(" ********\n\
************\n\
####....#.\n\
#..###.....##....\n\
###.......###### ### ###\n\
........... #...# #...#\n\
##*####### #.#.# #.#.#\n\
####*******###### #.#.# #.#.#\n\
...#***.****.*###.... #...# #...#\n\
....**********##..... ### ###\n\
....**** *****....\n\
#### ####\n\
###### ######\n\
##############################################################\n\
#...#......#.##...#......#.##...#......#.##------------------#\n\
###########################################------------------#\n\
#..#....#....##..#....#....##..#....#....#####################\n\
########################################## #----------#\n\
#.....#......##.....#......##.....#......# #----------#\n\
########################################## #----------#\n\
#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n\
########################################## ############");
return 0;
}