how to swap two integers 1 and 32767 without using third
variable
Answers were Sorted based on User's Feedback
Answer / riya ganguly
int a=1,b=32767;
a=a+b;
b=a-b;
a=a-b;
printf("a=%d,b=%d",a,b);
| Is This Answer Correct ? | 17 Yes | 5 No |
Answer / mansi_engg
use unsigned before variable a and b in
a=1;
b=32767;
a=a+b;
b=a-b;
a=a-b;
bcoj 32767+1 =32768 which goes out of range of integer and
will be stored as -32768 which wil make the swapping
wrong.by using unsigned, addition will come in range 0-65536
and thus the process works.
| Is This Answer Correct ? | 8 Yes | 2 No |
Answer / sharath kumar
As int max valur is 32767. If we increment it it becomes -32768, so its a wrong way to do
a=1; b=32767;
a=-a; b=-b;
a=a+b; //-32768 with in range
b=a-b; //-1
a=a-b; //-32767
printf("%d%d",-a,-b);
| Is This Answer Correct ? | 4 Yes | 0 No |
Answer / g.sai lakshmi priyanka
void main()
{
int a,b;
a=32767,b=1;
a=a*b;
b=a/b;
a=a/b;
printf("%d %d",a,b);
}
EXPLAINATION:
a=32767*1=32767
b=32767/1=32767
a=32767/32767=1
a=1,b=32767
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / vidhubala-j
int a=1
int b=32767
a^=b^=a
printf("%d %d",a,b);
| Is This Answer Correct ? | 4 Yes | 3 No |
Answer / mani654mani
Int var1=1, var2=32767;
var1 = var1 + var2;
var1 = 1 + 32767 =32768;
var2 = var1 - var2;
var2 = 32768 - 32767 = 1;
var1 = var1 - var2;
var1 = 32768 - 1 = 32767;
So Now var1 = 32767 and var2 = 1
| Is This Answer Correct ? | 0 Yes | 0 No |
What are the rules for the identifier?
what is C?
What is %d used for?
Is there a way to jump out of a function or functions?
#include<stdio.h> main() { int i=5; printf("%d",i*i-- - --i*i*i++ + ++i); } tell the answer with correct reason .specially reason is important nt answer ans by turbo c is -39
What is scanf () in c?
Why should I use standard library functions instead of writing my own?
compute the nth mumber in the fibonacci sequence?
10 Answers Canon, HPL, Satyam, TCS,
What happens if a header file is included twice?
Explain what is wrong with this program statement?
what is the difference between postfix and prefix unary increment operators?
What is a macro in c preprocessor?