会C的进来看下
#include "stdio.h"
main()
{float x,y,z;
x=5/2;
y=5/2*1.0;
x=1.0*5/2;
printf("x=%f ",x);
printf("y=%f ",y);
printf("z=%f\n",z);
}
x=2.500000 y=2.000000 z=0.000000
大家帮我看下上面那个程序,运算结果为什么是那样的?
参考答案:#include "stdio.h"
main()
{float x,y,z;
x=5/2; /*x为float类型,*/
y=5/2*1.0; /*先算5/2取整得2,2*1.0=2.000000*/
x=1.0*5/2; /*此处 x 应该是 z 吧,*/
printf("x=%f ",x);
printf("y=%f ",y);
printf("z=%f\n",z); /*z没有赋值,系统默认为0.000000*/
}
/*建议求浮点数时,最好将参与运算的整数加“.0”,这样不会错*/