1、多行字符串常量拼接
相邻的字符串字面量会自动连接。可以在不使用任何连接符号(如 +)的情况下,将字符串拆分到多行编写,提高可读性。多个双引号字符串并列写,编译器会自动连接成一个字符串,使用 + 拼接字符串,C语言不支持这样做。字符串中直接换行不闭引号,编译器会报错。
#include <stdio.h> int main() { const char *msg = "这是第一行," "这是第二行," "这是第三行。\n"; printf("%s", msg); return 0; }
2、需要包含换行符,可以显式写 \n
多行字符串中,换行也可以使用\n
。
#include <stdio.h> int main() { // 定义多行字符串常量 const char* s = "第一行\n" "第二行\n" "第三行\n"; // 输出字符串 printf("%s", s); return 0; }
3、打印长段文本
适合程序的帮助信息、命令说明、版本信息、调试日志输出等。
#include <stdio.h> int main() { const char* helpText = "使用方法:\n" " myapp [选项] 文件名\n" "选项:\n" " -h, --help 显示帮助信息\n" " -v, --version 显示版本信息\n"; printf("%s", helpText); return 0; }
4、嵌入 HTML 字符串(如生成网页内容)
嵌入 HTML 结构时,方便结构化拼接与可读性,比如生成 HTML 响应内容。
#include <stdio.h> int main() { const char* html = "<html>\n" " <head><title>欢迎页面</title></head>\n" " <body>\n" " <h1>你好,世界!</h1>\n" " </body>\n" "</html>\n"; printf("%s", html); return 0; }
5、嵌入 SQL 字符串(如数据库查询)
SQL 语句格式清晰、结构清楚,便于后期维护与拼接。
#include <stdio.h> int main() { const char* sql = "SELECT id, name, age\n" "FROM users\n" "WHERE age > 18\n" "ORDER BY age DESC;\n"; printf("执行的 SQL:\n%s", sql); return 0; }
6、嵌入 JSON 字符串(如 API 输出)
用于调试 REST 接口或生成 JSON 配置数据。
#include <stdio.h> int main() { const char* json = "{\n" " \"name\": \"张三\",\n" " \"age\": 25,\n" " \"email\": \"zhangsan@example.com\"\n" "}\n"; printf("JSON数据:\n%s", json); return 0; }