#include <stdio.h> #include <stdlib.h>void swap (int* a, int* b)//general exchange { int tmp = *a; *a = *b; *b = tmp;} Do not use temporary variable VOID&NBSP;SWAP1 (INT*&NBSP;A,&NBSP;INT*&NBSP;B)//Use Add and subtract { *a = *a + *b; *b = *a - *b; *a = *a - *b;} VOID&NBSP;SWAP2 (INT&NBSP;*A,&NBSP;INT&NBSP;*B)//use XOR { *a = *a ^ *b; *b = *a ^ *b; *a = *a ^ *b;} Int main () { int a = 10, b = 30; printf ("a = %d,b = %d\n ", a, b); swap (&a, &b); printf (" a = %d,b = %d\n ", a, b); swap1 (&a, &b); printf (" a = %d,b = %d\n ", a , b); swap2 (&a, &b); printf ("a = %d,b = %d\n", a, b) ; system ("pause"); return 0;}
650) this.width=650; "title=" qq20160210180619.jpg "src=" http://s2.51cto.com/wyfs02/M00/7A/D3/ Wkiol1a7dl3i0rjlaacbsxijew8185.jpg "alt=" Wkiol1a7dl3i0rjlaacbsxijew8185.jpg "/>
Two digital exchanges (no temporary variables)