部分源代码:

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

我的开发环境:Ubuntu16.04LTS,Clion IDE和GCC版本5.4.0,C11标准。
当我运行代码时,出现了一个错误,消息
undefined reference to `cabs'

IDE告诉我函数cabs是在头文件cmathcalls.h中声明的,因此我尝试:
#include<cmathcalls.h>

但是IDE警告我找不到该文件,所以我再次尝试:
#include<bits/cmathcalls>

我运行代码,但仍然不起作用。
我想知道如何用函数得到复合物的abs值?

最佳答案

对于cabs你只需要<complex.h>。实际声明它的地方只是一个实现细节。
然后与-lm链接以实际链接数学库。

关于c - 计算C中复合物的绝对值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48659683/

10-10 00:22