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
Is c is a high level language?
Define macros.
What library is sizeof in c?
Can the “if” function be used in comparing strings?
What is an auto variable in c?
What are the disadvantages of external storage class?
What is the scope of local variable in c?
Do you know the purpose of 'register' keyword?
What is floating point constants?
Write an algorithm for implementing insertion and deletion operations in a singly linked list using arrays ?
What does char * * argv mean in c?
Explain how are 16- and 32-bit numbers stored?
Explain what is meant by high-order and low-order bytes?
What are multibyte characters?
Define VARIABLE?