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 |
how to write a c program to print list of fruits in alpabetical order?
WAP that prints the number from 1 to 100. but for multiplies of three print "XXX" instead of the number and for the multiplies of five print "YYY" . for number which are multiplies of both three and five print "ZZZ"
What is the size of array float a(10)?
What is extern c used for?
what is data structure
where does malloc() function get the memory?
which one is not preprocessor directive a)#if b)#elif c)#undef d)#pragma
16 Answers Accenture, Infosys, TCS, Wipro,
char ch="{'H','I',0};printf("%s",ch);what is output
What are the 5 types of inheritance in c ++?
write a c code "if you give a any decimal number then print that number in english alphabet"? ex: i/p: 552 o/p: five hundred fifty two ...
What is a good way to implement complex numbers in c?
char ch=10;printf("%d",ch);what is the output