#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
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 |
for (i <= 5 && i >= -1;++i; i > 0) { printf("%d ", i); }
what is the diff between the printf and sprintf functions?? and what is the syntax for this two functions ??
What are unions in c?
How do you prevent buffer overflows in C?
Write a Program to accept different goods with the number, price and date of purchase and display them
how can i get output the following... 5 4 3 2 1 4 3 2 1 3 2 1 2 1 1 and 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 plz plz...
can we execute the program with the object file
Write a factorial program using C.
How to swap two values using a single variable ? condition: Not to use Array and Pointer ?
How to print %d in output
How do we declare variables in c?
Explain what is the difference between a string copy (strcpy) and a memory copy (memcpy)? When should each be used?