C中字符串文字的最大可能长度

Maximum possible length of string literal in C

C 中字符串文字的最大可能长度是多少?如果我没记错的话,在 Java 和 .NET 中,最大可能长度是 2^31 - 1.

字符串文字的长度没有指定的上限。

该标准要求所有实现在连接后支持至少 4095 个字符的字符串文字,但编译器可以自由支持任意长字符串文字。 (C90 中的要求是 509 个字符;C99 增加到 4095 个。)