二进制表达式的操作数无效

时间:2016-09-25 13:33:40

标签: c

我对C很新,我还没有完全明白。这是我的任务,下面是我的代码。

一个人在储蓄账户中投资1,000美元,产生5%的利息。假设所有利息都留在账户中存入,计算并打印每年年底账户中的金额为10年。使用以下公式确定这些金额:

a = p(1 + r)n

其中p是投资的原始金额,r是年利率,n是年数,a是第n年末存款金额

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

int main(){
    double a, p, n;
    double r=(1 + (1/20));
    p=1000;

    for(n=1; n<=10; n++){
        a = (p*(r)^n);
        printf("%f, %f, %f\n", a, n,r);
    }
    return 0;
}

当我尝试编译它时,我收到以下错误:

error: invalid operands to binary expression
  ('double' and 'double')
            a = (p*(r)^n);
                 ~~~~~^~

任何人都可以帮我弄清楚这意味着什么,我应该做些什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

'^'不是权力运算符。这是一个有点操作员。您需要#include <math.h>并使用pow(r, n)代替。