printf那句改成printf("%f",result);
这里double是64位浮点数类型,在计算机中由于double精度问题,不能精确表示出0,但是可以用以下方法,即判断double的值是否在某个很小区间,我们就认定它等于0
double db;if(db>=(-1e-6)&&db<=(1e-6))//1e-6即10的-6次方
"!="不等于 中间不要空格