我的代码看起来像
#include <stdio.h>
#include <math.h>
int main (void)
{
float x1, x2, x3;
float y1, y2, y3;
float Cos0, i, j, k, innerProduct;
float Xlength, Ylength;
x1=0;
x2=0;
x3=0;
y1=0;
y2=0;
y3=0;
Cos0=0;
i=0;
j=0;
k=0;
innerProduct=0;
Xlength=0;
Ylength=0;
printf("Please insert six floating point numbers \n");
scanf("%f%f%f%f%f%f", x1, x2, x3, y1, y2, y3);
Xlength=sqrt((x1*x1)+(x2*x2)+(x3*x3));
Ylength=sqrt((y1*y1)+(y2*y2)+(y3*y3));
i=x1+y1;
j=x2+y2;
k=x3+y3;
innerProduct=((x1*y1)*(x2*y2)*(x3*y3));
Cos0=(innerProduct)/((Xlength*Ylength));
return 0;
}
我收到以下编译错误“警告:格式 %f 需要 'float *' 类型的参数,但参数“x”的类型为 double”
其中 x 是数字之一,scanf 命令中的所有 6 个参数都会发生这种情况,我已将所有变量指定为浮点数,但它不喜欢这样。
我该如何解决?谢谢!