不是这个原因,是因为y=1.0/x的时候,计算为0.5,但由于y是int型,所以发生强制类型转换为0.
还是不明白哦,1.0/2.0的值怎么算?不是取整吗?那么就该是永远是0啊?然后若将这个值赋给一个整型变量,则为0,赋给一个单精度变量,则为0.000000。不知道我想得对不对?
不对,"/"只有分子与分母都是整数时才是取整,如果有一个不是的话就作运算,小数点后面根据情况取多少位小数.将所运算过的数赋给某个变量时,像上面这种情况,是赋给一个整型变量,故发生类型强制转换.
乱了从长计议x=1.0/2.0;先算1.0/2.0=0.5不管x等于什么都等于0.5当进行到x=0.5时程序再判断x的数据类型当输出时是另一个判断过过程