c - 定义宏来计算多项式

标签 c macros

我正在尝试定义一个宏来计算多项式 x^5-3x^3+4。这是我到目前为止所拥有的。它编译但不打印正确的值。相反,它给出 4 作为答案。我对 C 没有太多经验,而且我尝试过的任何方法都无法使其工作。任何帮助将不胜感激。

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

#define F_OF_X(x) (pow(x,5)-(3*pow(x,3))+4)

int main (){

    float n;

    printf("Enter a number:\n");
    scanf("%lf", &n);

    printf("%.2f\n\n", F_OF_X(n));

    return (0);
}

最佳答案

scanf() 中,%lf 需要一个指向 double 的指针。您需要使用 %f 来表示 float

关于c - 定义宏来计算多项式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29960650/

相关文章:

c++ - 如何检查当前 OpenGL 上下文是否在 Geforce 卡上运行?

gcc - 检测预处理器中的 ARM NEON 可用性?

macros - Sublime Text 绑定(bind) : insert semicolon at eol and come back

macros - Franz LISP 到 Common LISP 的转换 2 - 生成宏的宏

c - 'sizeof (function name)' 返回什么?

c - 如何追加一个数组?

c - 如何用C写一个DLL文件?

loops - 理解循环宏扩展

macros - 如何在另一个 crate 中使用一个宏?

c - Arduino - 获取响应和解析 json 数组的正确方法