can u write a program in C, which does not use = (eqaul)or
any arithmatic assignment(like -=,+=,*= etc) operator to
swap to number?
Answer Posted / anish
Simple... use XOR (^) operator...
example suppose,
x=101 (binary)
y=010 (binary)
now,
Execute : x=x^y; -->> from LSB 1^0=1 0^1=1 1^0=1
now x=111
Execute : y=x^y; -->> from LSB 1^0=1 1^1=0 1^0=1
now y=101 (101 used to be the value of x)
Execute : x=x^y; -->> from LSB 1^1=0 1^0=1 1^1=0
now x=010 (010 used to be the values of y)
code snippet
{
x=10;
y=30;
//swap x and y
x=x^y;
y=x^y;
x=x^y;
}
now x=30 and y=10
any doubts please ask me....
| Is This Answer Correct ? | 3 Yes | 8 No |
Post New Answer View All Answers
Write a program to print numbers from 1 to 100 without using loop in c?
Do you have any idea about the use of "auto" keyword?
What is a sequential access file?
Is it better to use malloc() or calloc()?
Is c is a procedural language?
What are the 5 organizational structures?
Function calling procedures? and their differences? Why should one go for Call by Reference?
What is c language in simple words?
What is a keyword?
What does volatile do?
Is there a built-in function in C that can be used for sorting data?
What is the difference between far and near ?
A character flag or control mechanism that delineates one data item from another a) variable b) constant c) delimiter d) call by reference
Linked list is a Linear or non linear explain if linear how it working as a non linear data structures
What are header files and what are its uses in C programming?