C语言数值显示错误
��定义了一个 long num 和 float d,某一次程序运行结束后 num 的值应该为2894,跟踪变量后也显示num的值确实是2894,定义了算式 d = num / 1024,输出格式是%f,本来这个算式的结果应该是2.826171,按理说不会错的,但是最后显示结果却是2.000000,到底怎么回事?
切忌:虽然定义了浮陵蚂点型变肢哗量历汪行,但是要得到带有正确小数的结果,赋值时必须有一个是小数,如 num=2894.0,或d=num/1024.0,否则不正常的。
long 是长判镇整形,num/1024得到的还是长整形,也就是2,然后把2转换成float型掘旦粗再赋给d,迟灶当然输出2.000000