房天下 > 房天下问答 > 业主生活 > 其他
  • while语句的问题

    main(){int a=1,b=2,c=2,t;while(a<b<c)(t=a;a=b;b=t;c--;)printf("%d,%d,%d",a,b,c);}为什么答案是1,2,0 是怎么算出来的额?谢谢大家给我个答案吧

    提问者:FLW500

    发布于2011-01-24

共1个回答
  • uclg_mhcy 丨Lv 0
    关键是要正确理解a<b<c同样优先级的操作符顺序是从左到右,所以等价于(a<b)<c循环第1次:a=1,b=2,c=2a<b<c等于(1<2)<2等于1<2,为真,循环内语句执行完后a=2,b=1,c=1循环第2次:a=2,b=1,c=1a<b<c等于(2<1)<1等于0<1,为真,循环内语句执行完后a=1,b=2,c=0循环第3次:a=1,b=2,c=0a<b<c等于(1<2)<0等于1<0,为假,循环结束故最终结果a=1,b=2,c=0
    +1 2011-01-25 举报
热门人气推荐
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。