_Complex_I

来自cppreference.com
< c‎ | numeric‎ | complex
在标头 <complex.h> 定义
#define _Complex_I /* 未指明 */
(C99 起)

_Complex_I 宏展开成类型 constfloat _Complex 的值,其值为虚数单位。

目录

[编辑]注意

可在 I 不可用,譬如程序已取消定义它时使用此宏。

_Imaginary_ICMPLX 不同,用此宏构造复数会失去虚部的零的符号位。

[编辑]示例

#include <stdio.h>#include <complex.h>   #undef I#define J _Complex_I // 可用于重定义 I   int main(void){// 可用于构建复数doublecomplex z =1.0+2.0* _Complex_I;printf("1.0 + 2.0 * _Complex_I = %.1f%+.1fi\n", creal(z), cimag(z));   // 可能不会保留零的符号doublecomplex z2 =0.0+-0.0* _Complex_I;printf("0.0 + -0.0 * _Complex_I = %.1f%+.1fi\n", creal(z2), cimag(z2));}

可能的输出:

1.0 + 2.0 * _Complex_I = 1.0+2.0i 0.0 + -0.0 * _Complex_I = 0.0+0.0i

[编辑]引用

  • C23 标准(ISO/IEC 9899:2024):
  • 7.3.1/4 _Complex_I (第 TBD 页)
  • C17 标准(ISO/IEC 9899:2018):
  • 7.3.1/4 _Complex_I (第 136 页)
  • C11 标准(ISO/IEC 9899:2011):
  • 7.3.1/4 _Complex_I (第 188 页)
  • C99 标准(ISO/IEC 9899:1999):
  • 7.3.1/2 _Complex_I (第 170 页)

[编辑]参阅

虚数单位常量 i
(宏常量)[编辑]
(C99)
复数或虚数单位常量 i
(宏常量)[编辑]
close