用C计算复数的abs值

Calculate the abs value of a complex in C

部分源码:

double _Complex z = 1.0 + 1.0*I;
printf("%f\n", cabs(z));

我的开发环境:Ubuntu16.04LTS, Clion IDE with GCC version 5.4.0, C11 standard.

当我运行代码时,消息出现错误

undefined reference to `cabs'

IDE告诉我函数cabs是在头文件cmathcalls.h中声明的,所以我尝试:

#include<cmathcalls.h>

但是 IDE 警告我找不到文件,所以我再次尝试:

#include<bits/cmathcalls>

我 运行 代码,但是它仍然不起作用。

我想知道如何用函数 cabs 得到复数 z 的 abs 值?

对于 cabs 你只需要 <complex.h>。实际声明的地方只是一个实现细节。

然后 link 和 -lm 实际上 link 数学库在.