c语言问题:请细致讲一下z=x/y 怎么算的 原理

'请读程序:

#include<math.h>

#include<stdio.h>

main()

{ float x,y,z;

scanf("%f%f",&x,&y);

z=x/y;

while(1)

{ if(fabs(z)>1.0)

{ x=y; y=z; z=x/y;

}

else break
;
}

printf("%f\n",y);

}

若运行时从键盘上输入3.6 2.4<CR>(<CR>表示回车),则输出的结果是

A) 1.500000 B) 1.600000 C) 2.000000 D) 2.400000

运行轨迹如下:
x=3.600000, y=2.400000, z=1.500000   交换
x=2.400000, y=1.500000, z=1.600000   交换
x=1.500000, y=1.600000, z=0.937500   结束
1.600000

追问

x/y 不是整除吗?

追答

浮点数运算哪有整除一说?

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-08-05
应该是a吧,z/y就是除号,两边都是整型的话得的值就是整型,有一方是实型的话得的值是实型。这个题就是3.6/2.4得到1.5,然后再赋值给y本回答被提问者采纳