#define swap1(a,b) a=a+b;b=a-b;a=a-b;
main()
{
int x=5,y=10;
swap1(x,y);
printf("%d %d\n",x,y);
swap2(x,y);
printf("%d %d\n",x,y);
}

int swap2(int a,int b)
{
int temp;
temp=a;
b=a;
a=temp;
return;
}

what are the outputs?

Answers were Sorted based on User's Feedback



#define swap1(a,b) a=a+b;b=a-b;a=a-b; main() { int x=5,y=10; swap1(x,y); printf("%d %d\..

Answer / goodhunter

10 5
10 5

Is This Answer Correct ?    20 Yes 2 No

#define swap1(a,b) a=a+b;b=a-b;a=a-b; main() { int x=5,y=10; swap1(x,y); printf("%d %d\..

Answer / jaroosh

Result of the above program will probably be sth like :
compile error `return' with no value, in function returning
non-void
or
function swap2(...) should return a non-void value.
thats because from the erroneous code YOU CANT PREDICT what:
return;
in swap2 function was about to return.
It may sound that Im picking, but as an interviewer myself,
I have to say it is CRUCIAL on an interview to pinpoint
errors in the code, NEVER assume that its just a
misspelling, some of those errors are, some of them aren't
and are there to check if you read code thoroughly, its
always better to point such things.

Assuming the code was right and the swap2 signature was
void swap2(int a, int b)
code result will be :
10 5
10 5
switching values of a and b in swap2 doesnt affect x and y
values in program because they are being passed BY VALUE to
swap2.

Is This Answer Correct ?    7 Yes 2 No

#define swap1(a,b) a=a+b;b=a-b;a=a-b; main() { int x=5,y=10; swap1(x,y); printf("%d %d\..

Answer / mannucse

10 5
5 10

Is This Answer Correct ?    9 Yes 10 No

#define swap1(a,b) a=a+b;b=a-b;a=a-b; main() { int x=5,y=10; swap1(x,y); printf("%d %d\..

Answer / chitra

10 5
5 5

Is This Answer Correct ?    3 Yes 9 No

Post New Answer

More C Interview Questions

Explain the array representation of a binary tree in C.

1 Answers   Genpact,


What is the advantage of an array over individual variables?

1 Answers  


What are the preprocessor categories?

1 Answers  


Total of how many functions are available in c?

3 Answers  


How to find the digits truncation when assigning the interger variable to the character variables. like int i=500; char x = i : here we have truncation. how to find this. another ex: i =100; char x=i. here we do not have truncation.

1 Answers   HCL,


Explain null pointer.

1 Answers  


what is difference between C and C++

4 Answers  


what is the c source code for the below output? 1 0 1 1 0 1 0 1 0 1 1 0 1 0 1

0 Answers  


the statement while(i) puts the entire logic in loop. this loop is called a) indefinite loop b) definite loop c) loop syntax wrong d) none of the above

1 Answers  


Why is c so popular?

1 Answers  


How does C++ help with the tradeoff of safety vs. usability?

1 Answers  


what is purpose of fflush(stdin) function

4 Answers  


Categories