#include<stdio.h>
#include<conio.h>
# define swap(a,b) temp=a; a=b; b=temp;
void main( )
{
int i, j, temp;
i=5;
j=10;
temp=0;
if( i > j)
swap( i, j );
printf( "%d %d %d", i, j, temp);
}
Answers were Sorted based on User's Feedback
Answer / rohit751
Hi all...the main mistake in the program is using the semi
colons in the macro definition. Try this..
#include<stdio.h>
#include<conio.h>
# define swap(a,b) temp=a, a=b, b=temp;
void main( )
{
int i, j, temp;
i=5;
j=10;
temp=0;
if( i < j)
swap( i, j );
printf( "%d %d %d", i, j, temp);
}
| Is This Answer Correct ? | 10 Yes | 0 No |
Answer / ashish rajvanshi
My dear frnds its a simple question
here the code of macro inserted in the program at the time of preprocessing and then the calculation will performed.
and then it will be calculated.
void main()
{
int i,j, temp;
i=5;
j=10;
temp=0;
if(i>j)
temp=a;
a=b;
b=temp;
printf("%d %d %d" , i , j , temp);
}
for further detail contect at(ashish.raj.mrt@gmail.com)
| Is This Answer Correct ? | 3 Yes | 1 No |
Answer / ashishrajvanshi01
On compiling i got ans 10, 0, 0. I did not understand the concept. Please expalin this to me.
| Is This Answer Correct ? | 5 Yes | 4 No |
Answer / harish
it enters into swap function only when i>j.
but i contains 5 and j contains 10.
can u plz explain this
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / abhijeet
my frnd, C is dumb compiler. It doesn't know what actually
we mean.
Here, in this program, we have defined 1 macro. Ok
this macro wil be inserted and expanded into code.
this gives the unpredicted result. U try and find out what i
mean to say.
| Is This Answer Correct ? | 1 Yes | 1 No |
Answer / kumaravel
chance of providing answer is not possible. empty screen become view.
| Is This Answer Correct ? | 0 Yes | 0 No |
Answer / manish soni tagore collage jai
my dear frd....
here some hapen.
#define swap(a,b) temp=a;a=b;b=temp;----------(1)
is was as function of swap two no;(but it is differnt frm
funtion.)
so
at i>j;
enter swap(i,j);
so jump at eq(n) ---(1) and call swap function'
and
temp=5;
i=10;
j=0;
you see three variable.
but it printf i,j to convert swap.
bcoz it have two arguments.
and print temp=0;
becoz temp have 0;
| Is This Answer Correct ? | 0 Yes | 7 No |
Who is the main contributor in designing the c language after dennis ritchie?
can we have joblib in a proc ?
What is the difference between functions getch() and getche()?
What are qualifiers?
why 'c' is called middle level language.
Why can’t we compare structures?
Write a routine that prints out a 2-D array in spiral order!
Is main is a keyword in c?
What is main () in c language?
what is used instead of pointers in java than c?
main() { int a=4,b=2; a=b<<a + b>>2; printf("%d", a); }
What is meant by realloc()?