'unary *' 的类型参数无效(具有"int")



我有这个C程序:

#include <stdio.h>
#include <math.h>
main() {
int I;
double A[3]={0.0, 1.0, 2.0};
double B[3]={0.0, 1.0, 2.0};
double C[3]={0.0, 1.0, 2.0};
double X[3];
for (I=0; I<3; I++) {
X[I] = A[I] * ( B[I] - C[I] )**2;
}
}

编译会产生错误:

">

一元 *"的类型参数无效(具有"int"(

我应该如何解决这个问题?

在这里,您可能正在尝试对表达式进行平方。

X[I] = A[I] * ( B[I] - C[I] )**2;

改为这样做:

X[I] = A[I] * pow(B[I] - C[I], 2.0);

我不认为math.h中有整数pow,但这个答案提供了一个很好的实现。

最新更新