Possible Duplicate:
How to work with complex numbers in C?
所以我有一段C代码,它编译时出错,说“complex”没有命名类型:
#include <stdio.h>
#include <complex.h>
#include <math.h>
int main ()
{
int B=9;
double theta;
double complex w;
float x,y;
x= 5*cos (theta) - 2;
y= 5*sin (theta);
double complex z=x+y*I;
w=z+(B/z);
for(theta=0;theta<=360;theta=+30)
{ printf ("%.2f %.2f %.2f %.2f",creal(z), cimag(z),y,creal(w), cimag(w));
printf ("/n");
}
return 0;
system ("pause");
}
我已经包含了
<complex.h>
所以为什么“complex”仍然有错误。也有其他的错误,但让我们先关注这一个。 最佳答案
你使用GCC作为编译器吗?如果是,则需要使用-std=c99
或-std=gnu99
编译器标志启用C99支持。
另外,在使用变量之前声明它们在这里:
double complex z=x+y*I;
尚未声明
x
或y
。当然你也需要初始化它们。例如:float x = 5 * cos(theta) - 2;
float y = 5 * sin(theta);
double complex z = x + y * I;
关于c - 定义复数变量时出错,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13609734/