IamEasy_Man

Filled With Confidence , And Never Say Give Up !

【原创】C语言运算符

今天要做一个小Demo用来获取测试数据的,碰到一个特别基础性的语言基础问题,Mark下来。如果双目运算符号的左右两个数值类型为整型,则得出来的数值也为整型,例如一下一个小Demo:

int a  = 64;
int b = 65;
float f = (float)(b/a);
float f2 = (float)(a/b);
printf(
"%f  %f",f,f2);   //Result: 1.000000  0.000000

/*****************************************************/
float c = 65.0f;
float f3 = a/c;
float f4 = c/a;
printf(
"%f  %f",f3,f4);//Result: 0.984615  1.015625

 

  可以深刻理解上面所说了吧。还有在使用printf和sprintf等进行字符串打印或者转换时,%f一般默认保留小数点后面的六位,%e表示双精度的浮点型double,一般是小数点后面14位,如果要控制小数点后面的位数可以通过"%.4f"这么一种方式去实现保留4小数点后四位。

还有一点需要注意的,在使用sprintf进行数据转换的时候,因为sprintf除了前两个参数意外其他的参数都不是类型安全的,所以在某些使用的情况需要先强制转换类型,例如一种情况:

int a = 100;
printf(
"%f",a);// Result: 0.000000

/****************************************/

printf("%f",(float)a);// Result:100.000000

 


posted on 2010-06-25 11:46  IamEasy_Man  阅读(260)  评论(0)    收藏  举报

导航