关于printf分行的规则,以下以超级玛丽为例三种示例代码:
初学者可能上来就ctrl+c,ctrl+v了,然后发现编译报错,于是经过多种尝试后出现了第一种答案:
#include<stdio.h>
int main()
{
printf(" ********\n");
printf(" ************\n");
printf(" ####....#.\n");
printf(" #..###.....##....\n");
printf(" ###.......###### ### ###\n");
printf(" ........... #...# #...#\n");
printf(" ##*####### #.#.# #.#.#\n");
printf(" ####*******###### #.#.# #.#.#\n");
printf(" ...#***.****.*###.... #...# #...#\n");
printf(" ....**********##..... ### ###\n");
printf(" ....**** *****....\n");
printf(" #### ####\n");
printf(" ###### ######\n");
printf("##############################################################\n");
printf("#...#......#.##...#......#.##...#......#.##------------------#\n");
printf("###########################################------------------#\n");
printf("#..#....#....##..#....#....##..#....#....#####################\n");
printf("########################################## #----------#\n");
printf("#.....#......##.....#......##.....#......# #----------#\n");
printf("########################################## #----------#\n");
printf("#.#..#....#..##.#..#....#..##.#..#....#..# #----------#\n");
printf("########################################## ############\n");
return 0;
}
一堆printf("")copy得手酸,但其实我们可以升级一下:
1.0版本每一行都加双引号,少打n个printf():
#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"
"########################################## ############\n"
);
return 0;
}
2.0版本,直接每一行后面加\,少打n个printf(""):
#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\
########################################## ############\n");
return 0;
}
懒人的胜利【doge】。