How to swap two values using a single variable ?

condition: Not to use Array and Pointer ?

Answers were Sorted based on User's Feedback



How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / vignesh1988i

GOOD MORNING,
swapping itself means that there must be minimum 2
variables ... if there is the way for above , that one is
not called as swapping......

Is This Answer Correct ?    17 Yes 2 No

How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / ankit anupam

well i think this was wht u were lookin for
#include<stdio.h>
int main()
{
int a, b;
printf("Enter two no");
scanf("%d%d",&a,&b);
printf("a=%d nd b=%d",a,b);
a=a+b;
b=a-b;
a=a-b;
printf("a=%d nd b=%d",a,b);
return 0;
}

Is This Answer Correct ?    16 Yes 3 No

How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / jp

The trick is to use register variables. I have written a sample code in C. There might be some cosmetic works for indention, plz don't bother ;)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#include <dos.h>
#include <stdio.h>
union REGS ax_regs;

/*
Title : Using Registers To Swap Values

Description : Declaring a single variable and using it to swap two values

Author : Jayapriyan VITTOBANE
Turbo C++ V 3.0
*/

void main()
{
clrscr();
ax_regs.h.ah=2;
ax_regs.h.al=3;
printf("\n\n\n\n\n\t\t\tBefore Swapping");
printf("\n\n\n\t\tFirst Value:%5d",ax_regs.h.ah);
printf("\n\n\n\t\tSecond Value:%5d",ax_regs.h.al);
ax_regs.h.ah=ax_regs.h.ah^ax_regs.h.al;
ax_regs.h.al=ax_regs.h.ah^ax_regs.h.al;
ax_regs.h.ah=ax_regs.h.ah^ax_regs.h.al;
printf("\n\n\n\n\n\n\n\n\n\n\t\t\tAfter Swapping");
printf("\n\n\n\t\tFirst Value:%5d",ax_regs.h.ah);
printf("\n\n\n\t\tSecond Value:%5d",ax_regs.h.al);
getch();
}

Is This Answer Correct ?    5 Yes 0 No

How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / aditya

main(){
int a=10,b=20;
printf("%d%d",a,b);
a^=b,b^=a,a^=b;
printf("%d%d",a,b);

}

Is This Answer Correct ?    3 Yes 1 No

How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / jyotsna

let take a single variable 'x'
a=3
b=2
hence
x=a;
a=b;
b=x;
swapping is occured now a=2 and b=3

Is This Answer Correct ?    10 Yes 12 No

How to swap two values using a single variable ? condition: Not to use Array and Pointer ?..

Answer / guest

use actual and formal function

Is This Answer Correct ?    2 Yes 9 No

Post New Answer

More C Interview Questions

What is an array? What the different types of arrays in c?

1 Answers  


What is bubble sort in c?

1 Answers  


Tell about strtok & strstr functions

2 Answers   HCL, iFlex, Motorola,


what is difference between getchar,putchar functions and printf and scanf function? does putchar show output only when input given to it

5 Answers   DIT,


How to write a code for random pick from 1-1000 numbers? The output should contain the 10 numbers from the range 1-1000 which should pick randomly, ie ,for each time we run the code we should get different outputs.

12 Answers   NetApp,


Is it better to use malloc() or calloc()?

1 Answers   Aspire, Infogain,


How do you determine the length of a string value that was stored in a variable?

0 Answers  


Who developed c language and when?

1 Answers  


for example user gives input as " 20 or 20.0 or rs 20.0 or 20.00 or rs20 and so .. on " and the output should be stored as " rs.20.00 " in a variable

2 Answers  


Is calloc better than malloc?

1 Answers  


What is the difference between %d and %i?

1 Answers  


what do u mean by Direct access files? then can u explain about Direct Access Files?

1 Answers   LG Soft,


Categories