一个C语言初学者的问题

#include<stdio.h>
int main(void)
{
int a,b;
//Enter a and b:
scanf("%d%d",&a,&b);
printf("a=%d b=%d\n",a,b);
/Begin/

  /*********End**********/
  printf("a=%d  b=%d\n",a,b);  
   return 0;
}请问如何可以将唉a,b的值对调不用第三个变量?

位运算:

#include <stdio.h>
int main(void)
{
    int x = 10, y = 20;
    printf("交换之前:x = %d,y = %d\n",x,y);
    x = x ^ y;
    y = x ^ y;
    x = x ^ y;
    printf("交换之后:x = %d,y = %d\n",x,y);
    return 0;
}

img