我正在使用Apple LLVM版本7.3.0(clang-703.0.31)编译一些代码,我发现1j可能是一个常量值。
在下面的代码片段中,我将int b赋值为1j并进行编译。
但是j不是我定义的任何变量。
有人可以解释1j是什么吗?或者它是编译器错误?
非常感谢。
#include <iostream>
using namespace std;
int main() {
// What is 1j? Why this code can compile??
int b = 1j;
cout << b << endl;
return 0;
}
我看到另一篇文章解释这是一个复杂的数字。
What does the integer suffix J mean?
使用编译器选项-pedantic会引发警告。
答案 0 :(得分:0)
后缀i
和j
用于复数。