为什么printf()将双变量打印为f char?

时间:2015-12-12 13:28:54

标签: c printf

我正在尝试使用printf函数打印双变量。 使用此功能

 int x_angle,y_angle;
 double xc, ret, val;

 x_angle=mouse_shoot.x-10; 
 y_angle=19-mouse_shoot.y;
 xc=y_angle/x_angle;
 val = 180.0 / PI;
 ret = atan (xc) * val;
 printf("The arc tangent of %f is %f degrees", xc, ret);

x_angle和y_angle打印得很好,但是当我试图打印xc和ret我正在获得此打印

“f的反正切是f度” 知道为什么吗?

---- 更新 -----

似乎Dos没有打印到屏幕的双倍,所以我将结果转换为int 它打印得很好!

1 个答案:

答案 0 :(得分:0)

因为两个角度都是整数,所以xc = y_angle / x_angle会出现问题?

尝试将它们转换为double

((double)y_angle) / ((double)x_angle)