int a=3,
    b=4;
b=a+b;a=b-a;
b=b-a;请问还有其他方法不?
是不是有个什么临时储存?

解决方案 »

  1.   

    b=a*b;
    a=b/a;
    b=b/a;刚才查了下帖子
    说加减会可能会导致溢出的问题是怎么回事?
      

  2.   

    a/=2
    b/=2b=a+b; a=(b-a)*2; 
    b=(b-a)*2; 这样不会溢出了吧
      

  3.   

    四个整数类型的范围   
    byte         -2的7次方 ... 2的7次方-1
    short        -2的15次方... 2的15次方-1
    int          -2的31次方 ... 2的31次方-1
    long         -2的63次方 ... 2的63次方-1临时存储时采用了一个中间变量,如下
    int a=3, 
        b=4; 
    int temp;//temp  中间变量
         temp = a;
         a = b;
        b = temp;
      

  4.   

    int a=3, b=4;
    a=a^b;
    b=a^b;
    a=a^b;
    完成交换,此时a=4,b=3
      

  5.   


    int a=3, b=4; 
    a=b; 
    b=b-b/a;