What is the answer?

Status
Not open for further replies.

sachingoyal

New member
Joined
Aug 1, 2013
Messages
7
Points
0
What will the SWAP macro in the following program be expanded to on preprocessing? will the code compile?

#include<stdio.h>
#define SWAP(a, b, c)(c t; t=a, a=b, b=t)
int main()
{
int x=10, y=20;
SWAP(x, y, int);
printf("%d %d\n", x, y);
return 0;
}

A. It compiles
B. Compiles with an warning
C. Not compile
D. Compiles and print nothing

:thankyou::thankyou::thankyou:
 

Bulan

New member
Joined
Sep 12, 2013
Messages
28
Points
0
The answer is C:
Because, the code won't compile since statement of t cant occur within parenthesis.
 
Status
Not open for further replies.
Older threads
Replies
14
Views
15,824
Replies
8
Views
6,105
Replies
21
Views
18,439
Newer threads
Replies
4
Views
5,948
Replies
25
Views
13,840
Replies
0
Views
2,632
Recommended threads
Replies
9
Views
6,202
Replies
6
Views
4,528
Replies
0
Views
1,478
Replies
3
Views
4,031
Top