我在C中做了一个printf。无论如何,我可以做类似
的事情printf("Display Menu
1. Display all albums
2. Display the tracks in an album
0. Return to the main menu
Please enter the choice:");
获取错误
display.c:13: error: missing terminating " character
display.c:14: error: expected ')' before 'Display'
可以采取其他任何方式吗?
答案 0 :(得分:4)
字符串文字不能跨越多行。您可以使用多个printf
。使用\n
在每行末尾添加换行符。
printf("Display Menu\n");
printf("1. Display all albums\n");
printf("2. Display the tracks in an album\n");
printf("0. Return to the main menu\n");
printf("Please enter the choice:");
或者你可以将字符串分成多个字符串。这利用了C规则,即相邻的字符串文字合并为一个:例如,"foo" "bar"
相当于"foobar"
。
printf("Display Menu\n"
"1. Display all albums\n"
"2. Display the tracks in an album\n"
"0. Return to the main menu\n"
"Please enter the choice:");
答案 1 :(得分:1)
fputs(
"Display Menu\n"
"1. Display all albums\n"
"2. Display the tracks in an album\n"
"0. Return to the main menu\n"
"Please enter the choice:\n",
stdout );
你可以用printf
做同样的事情,但作为个人喜好,我喜欢使用更简单的功能,因为它具有美学吸引力和更高性能(在运行时,不需要解析格式字符串),但如果需要添加格式字符串,则可维护性稍差。这样的连接字符串在C中已经存在了很长时间,但是一些较旧的实现只允许创建相当短的总字符串。此示例中的字符串不够长,不足以成为问题。
答案 2 :(得分:0)
printf("Display Menu \n\t1. Display all albums \n\t2. Display the tracks in an album \n\t0. Return to the main menu \n\tPlease enter the choice:");
答案 3 :(得分:0)
printf("Display Menu\n\t1. Display all albums\n\t2. Display the tracks in an album\n\t0. Return the main menu\n\tPlease enter the choice:");