gpt4 book ai didi

c - 使用 complex.h 的问题

转载 作者:太空宇宙 更新时间:2023-11-04 01:34:32 25 4
gpt4 key购买 nike

我写了一个小的 c 代码来求一个数的平方。我希望程序甚至可以找到负数的平方根。我遇到了 complex.h 和几个执行复杂算术的函数。我已经使用了它们,并且在编译时收到了一些警告消息。代码没有正确计算正数和负数的平方根。

1) printf 和 scanf 用于打印和获取复数的正确格式说明符是什么?请让我知道我到底哪里出错了。我使用的是 gcc 编译器,操作系统是 Ubuntu 12.04 LTS。我附上了代码和输出。

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


int main()
{
float complex var,op;
printf(" Enter the number : " );
scanf("%lf",&var);
op=csqrt(var);
printf("%lf \n",op);
}

o/p Enter the number : 4
0.011604
Another o/p Enter the number : -4
-0.011604

最佳答案

来自 C99:

6.2.5/13 Types

Each complex type has the same representation and alignment requirements as an array type containing exactly two elements of the corresponding real type; the first element is equal to the real part, and the second element to the imaginary part, of the complex number.

因此,作为一种可能性,您可以使用:

scanf("%f %f",&var[0], &var[1]);

读取 float complex 类型,用空格分隔实部和虚部。

关于c - 使用 complex.h 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16874119/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com