How to swap two variables, without using third variable ?

Answer Posted / mrx

In assembly language you could use "xchg" instruction witch
swaps the two variables in one instruction.

/* swaps %dest <-> %source */
xchg %dest, %source


/* inline assambly example for C language */
void swap(int register *x, register int *y)
{
asm("xchg %0, %1;" \
: "=r"(*x), "=r"(*y)
: "0"(*x), "1"(*y)
);
}

This is the fastest method you can achieve in hand
optimization. I think C compiler will do the same trick if
possible.

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

how to test pierrot divisor

2266


Set up procedure for generating a wire frame display of a polyhedron with the hidden edges of the object drawn with dashed lines

3036


write a simple calculator c program to perform addition, subtraction, mul and div.

3160


Cluster head selection in Wireless Sensor Network using C programming language.

3120


Write a program to model an exploding firecracker in the xy plane using a particle system

3697






3) Int Matrix of certain size was given, We had few valu= es in it like this. =97=97=97=97=97=97=97=97=97=97=97 1 = | 4 | | 5 | &= nbsp; | 45 =97=97=97=97=97=97=97=97=97=97=97 &n= bsp; | 3 | 3 | 5 | = | 4 =97=97=97=97=97=97=97=97=97=97=97 34 |&nbs= p; 3 | 3 | | 12 | &= nbsp; =97=97=97=97=97=97=97=97=97=97=97 3 | &nbs= p; | 3 | 4 | = | 3 =97=97=97=97=97=97=97=97=97=97=97 3 | = ; | | | = ; 3 | =97=97=97=97=97=97=97=97=97=97=97 &= nbsp; | | 4 | = ; | 4 | 3 We w= ere supposed to move back all the spaces in it at the end. Note: = If implemented this prog using recursion, would get higher preference.

3329


create a C-code that will display the total fare of a passenger of a taxi if the driver press enter,the timer will stop. Every 10 counts is 2 pesos. Initial value is 25.00

6321


What is full form of PEPSI

1875


write a function to give demostrate the functionality of 3d in 1d. function prototye: change(int value,int indexX,int indexY,int indexZ, int [] 1dArray); value=what is the date; indexX=x-asix indexY=y-axis indexZ=z-axis and 1dArray=in which and where the value is stored??

4155


Write a routine to implement the polymarker function

4390


Given a spherical surface, write bump-mapping procedure to generate the bumpy surface of an orange

2867


write a c program to input initial & final time in the format hh:mm and find the time intervel between them? Ex inputs are initial 06:30 final 00:05 and 23:22 final 22.30

2228


Can you send Code for Run Length Encoding Of BMP Image in C Language in linux(i.e Compression and Decompression) ?

3861


#include int main(void) { int a=4, b=2; a=b<>2 ; printf("%d",a); return 0; }

1082


Write a Program in 'C' To Insert a Unique Number Only. (Hint: Just Like a Primary Key Numbers In Database.) Please Some One Suggest Me a Better Solution for This question ??

1785