#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 |
How do you declare a variable that will hold string values?
what does the following function print? func(int i) { if(i%2)return 0; eale return 1; } main() { int =3; i=func(i); i=func(i); printf("%d",i);}
where do we use structure pointer?
What will be the result of the following program? main() { char p[]="String"; int x=0; if(p=="String") { printf("Pass 1"); if(p[sizeof(p)-2]=='g') printf("Pass 2"); else printf("Fail 2"); } else { printf("Fail 1"); if(p[sizeof(p)-2]=='g') printf("Pass 2"); else printf("Fail 2"); } } a) Pass 1, Pass 2 b) Fail 1, Fail 2 c) Pass 1, Fail 2 d) Fail 1, Pass 2 e) syntax error during compilation
biggest of two no's with out using if condition statement
Why cant I open a file by its explicit path?
How do I use strcmp?
multiple of 9 without useing +,* oprator
What does %d do?
Write a program to reverse a string.
0 Answers Global Logic, iNautix, TCS, Wipro,
how to swap four numbers without using fifth variable?
Explain what is gets() function?