C语言 将字符串常量分成多行

C语言中,将字符串常量分成多行写是合法的,只需要将多行用双引号括起来,并将多个字符串用空格或换行直接拼接即可。编译器会自动将它们连接成一个完整的字符串。

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;
}

推荐阅读
cjavapy编程之路首页