把一个双精度浮点数赋值给一个float型变量会丢失精度, 所以编译器会给出警告。 不想看到警告的话,可以把变量改为double型,或者赋前强制类型转换为float.另外,这一行是有错误的:printf("l=%.2f\n s=%.2f\n x=%.2\n v=%.2f\n",l=,s=,x=,v=);//最后那四个‘=’号请删掉
这个本来应该是warning的,可能你的编译器配置成警告也作为error对待了。做下转型就行了,把float转为double。