C语言的二分之一
main() { float x,y; scanf("%f",&x); y = 2.4*x - 1/2; printf("%f",y); system("pause"); } 关于这段程序,当我X=5时,编译结果为12 但把1/2改成0.5时,编译结果却为11.5 这是为什么呢?
在C语言里面整型除整型结果还是整型,浮点型除以一个数结果还是浮点型数据,这是C语言里面规定的。
1、2都是整数类型 1/2结果是取整数部分,是0 改成0.5结果当然不一样了。
1/2 强制整型了, a = 1; b = 2; y = 2.4 * x - a / b; 这就OK了。
答:详情>>