分配给C中复数的实部或虚部

我需要使用牛顿的方法来处理复数以提取多项式的虚根。

我遇到了一个错误,所以我将代码分解为简单的问题,以查看出了什么问题。 当我尝试编译它时,它返回一个错误:

警告:转让的目标不是真正的左翼; 这将是一个严重的错误

此外,我想知道,如果无论如何,我可以显示整个复杂的数字,而不用crealcimag

#include<stdio.h>
#include<complex.h>

int main()
{
  double complex z1 = 2 + 3*I;
  creal(z1) = 5;
  cimag(z1) = 10;
  printf("%.2f +%.2f *i n", creal(z1), cimag(z1));
  return 0;
}

问题是这些行:

creal(z1) = 5;
cimag(z1) = 10;

creal和cimag返回双打。 您不能分配给函数返回值。 您可以将函数的返回值分配给另一个变量,如double real = creal(z1)

链接地址: http://www.djcxy.com/p/24375.html

上一篇: Assigning to the real or imaginary part of a complex number in C

下一篇: Complex number support in OpenCL