[求助]关于fabs或是强制类型转换的问题!
main(){
float x,y,x3,y3,n,t,x1=10.0,y1=10.0,x2=100.0,y2=100.0; int color=1;
x3=x2-x1; y3=y2-y1;
n=fabs((int)x3); t=fabs((int)y3);
printf("n=%f,t=%f\n",n,t);
if(t>n) n=t;
if(n!=0.0) {x=x3/n;y=y3/n;}
x3=(int)(x1+0.5); y3=(int)(y1+0.5);
x2=(int)(x2+0.5); y2=(int)(y2+0.5);
n=fabs(x3-x2); t=fabs(y3-y2);
printf("n=%f,t=%f\n",n,t);
n=fabs((int)(x3-x2)); t=fabs((int)(y3-y2));
printf("n=%f,t=%f\n",n,t);
}
这是程序的一个片断,我的本意是想让红色的那两个输出语句的n=90.000000,试了这两种方法都不行,第一个红色处等于100.000000,第二个红色处又等于-90.000000,
n=fabs(x3-x2); t=fabs(y3-y2);或
n=fabs((int)(x3-x2)); t=fabs((int)(y3-y2));
是哪点有错啊?要想n=90.000000,又该怎么写啊?