请问这个应该怎么看中间xy那里和while(1)(语言-c语言)

img


我知道会执行if 因为1.5>1
然后怎么看下面的xy赋值?
然后while(1)是什么意思 它的条件是1?

 x=y;
 y=x;
 z=x/y;
这里就是迷惑你的 
x = y
y = x;
之后 y的值没变,x变成y了

后面z = 1了
然后就进入break了

while(1)
就是死循环,一直循环,直到遇到break后退出

y始终没变
所以最后输出为2.4

  1. 答案是A。
  2. x= y;
    y=x;
    z = x/y;
    结果就是x和y的值都相等,都等于y的值,z的值当然就是1.0了。
  3. while(1),就是一直循环,除非在循环体内执行break.
    所以,当z的值是1.0的时候,条件fabs(z)> 1.0 为假,就回执行到else 语句中的break,就跳出while循环了。
    最后,y的值依然是2.4

while(1) 就是个条件永远为真的循环,就是个死循环。结束条件要靠循环内的break
当if(1.5 > 1.0)满足条件,x=y后x=2.4,y=x应该是写错了,应该是y=z才对,这样y=1.5,然后z=x/y = 2.4/1.5 = 1.6
当if(1.6 > 1.0)满足条件,x=y后x=1.5,y=z=1.6,z=x/y = 1.5/1.6= 0.9375
y=0.9375小于1.0,执行break,结束while循环。这是y值为1.6,选C