设x=1,y=2,z=3 那么表达式y+=z--/++x的值是?
A 3      B 3.5      C 4     D 4.5
答案怎么是B?答案错了吗??我觉得是A

解决方案 »

  1.   

    是B啊 Z--是在这个表达式完成后再自减1,所以这个表达式应该写成y = z--(这里为3)/++x(先加1这里为2)+(因为前面是y+所以后面的计算完成后3/2=1.5还要再加上y的值2);y最后的结果就是3.5.
      

  2.   

    注意:++a的意思是指在它所在语句执行前先执行加1操作,
          a++的意思是指在它所在语句执行后再执行加1操作。
    因而y+=z--/++x得执行顺序是
      ++x;//此时x=2
      y=y+z/x;//此时2+3/2=3.5
      z--;
     而且这里的数据类型应该是double的
      

  3.   

    应该是3   开始我也认为是3。5  后边知道是俩int型哈哈答案是A
      

  4.   

    晕。这题还要看,它的a、b、c怎么给
    如果给的是double x=1,y=2,z=3那么就是3.5如果是int x=1,y=2,z=3那么就是3