我有这个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
,但这个答案提供了一个很好的实现。