if(a<b)
  {t=a;b=t;a=b;}
//如果a=1;b=3;这样操作之后a,b都为1了,顺序不对

解决方案 »

  1. if(a<b)
      {t=a;b=t;a=b;}//b已被a覆盖
      if(a<c)
      {t=a;c=t;a=c;}//同理,c被a
      if(b<c)
      {t=b;c=t;b=c;}//
      

  2. 你的第二段程序中的 if语句写的都不对,哪有这样交换数值的,你自己在好好考虑考虑就知道错在什么地方了,最好是将abc都赋值后你就更清除了
    if(a<b)
      {t=a;b=t;a=b;}
      if(a<c)
      {t=a;c=t;a=c;}
      if(b<c)
      {t=b;c=t;b=c;}
      

  3. 兄弟。。这两个函数都不正常,你准备做嵌入式吗?如果不是,请直接学习C#,而不是C语言。感觉C#比C可爱的多
      

  4.  代码1:
    if(a<b)
      {t=a;a=b;b=t;}
      代码2:
    if(a<b)
      {t=a;b=t;a=b;}
    赋值注意先后顺序,同理其他自己改吧
      

类似问题 »