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
What should malloc(0) do? Return a null pointer or a pointer to 0 bytes?
What is conio h in c?
What is sizeof array?
What is a macro?
how logic is used
What is the process to create increment and decrement stamen in c?
What’s a signal? Explain what do I use signals for?
How the c program is executed?
What is an operator?
What does the c preprocessor do?
What does return 1 means in c?
Where can I get an ansi-compatible lint?
exit () is used to a) exit () terminates the execution of the program itself b) exit () terminates the execution of the loop c) exit () terminates the execution of the block d) none of the above
How do we make a global variable accessible across files? Explain the extern keyword?
Why cant I open a file by its explicit path?