在C、C++中不能使用^来表示指数,只能用*,如果想使用指数,只能建立循环多次相乘或者直接用乘法写出多个,下面是我的代码,注释部分为原来使用的指数形式,会报以上错误。
或者引用数学函数,在前面加上#include#include#include #include int main(int argc, char *argv[]) { double p0=1000,r1=0.0036,r2=0.0225,r3=0.0198,p1,p2,p3; p1=p0*(1+r1)*(1+r1)*(1+r1)*(1+r1)*(1+r1)*(1+r1); //p1=p0*(1+r1)^6; p2=p0*(1+r2)*(1+r2)*(1+r2); //p2=p0*(1+r2)^3; p3=p0*(1+r3)*(1+r3); //p3=p0*(1+r3)^2; double x=1,y=2,p; p = pow(x+1,y); //求x+1的y次方,即为指数 printf("1+1的平方为%lf",p); printf("存1年期%lf,存2年期%lf,存3年期%lf",p1,p2,p3); return 0; }


![[Error] invalid operands to binary ^ (have ‘double‘ and ‘float‘) [Error] invalid operands to binary ^ (have ‘double‘ and ‘float‘)](http://www.mshxw.com/aiimages/31/302415.png)
