整数后缀J是什么意思?

What does the integer suffix J mean?

我有以下来源:

int main() { 000J; }

使用 gcc 4.8.4 编译时没有错误。 我知道有 L 或 U 之类的后缀,但我没有找到有关 J 的任何信息。

那么它有什么作用呢?

我收到警告:

Imaginary constants are a GNU extension

J 后缀是 GNU 扩展,这导致文字是 _Complex 类型。

更多信息在这里:https://gcc.gnu.org/onlinedocs/gcc/Complex.html

如 zenith 所述,这是用于编写虚数文字的 GNU 扩展。我真的很想评论为此目的使用 j 的理由,因为 imallett 想知道,但我没有足够的声誉来评论天顶的回答。无论如何我都会把这个作为答案,因为它可能对其他人有帮助。

正如 this link 所解释的那样,ij 都可以使用这个 GNU 扩展来编写虚数文字。这里用i的原因很明显,但也用j的原因是j在电气工程和控制系统工程中常用来表示虚数单位为防止混淆,因为 i 在这些情况下已用于表示电流。