Sail E0 Webinar
Question


What would be output of the program ?


#include<stdio.h>
#define SWAP(a, b) int t; t=a, a=b, b=t;
int main()
{
int a=10, b=12;
SWAP(a, b);
printf("a = %d, b = %d\n", a, b);
return 0;
}
Options:
A .  a = 10, b = 12
B .  a = 12, b = 10
C .  Error: Declaration not allowed in macro
D .  Error: Undefined symbol 't'
Answer: Option B


The macro SWAP(a, b) int t; t=a, a=b, b=t; swaps the value of the given two variable.



Step 1: int a=10, b=12; The variable a and b are declared as an integer type and initialized to 10, 12 respectively.



Step 2: SWAP(a, b);. Here the macro is substituted and it swaps the value to variable a and b.


Hence the output of the program is 12, 10.




Was this answer helpful ?
Next Question

Submit Solution

Your email address will not be published. Required fields are marked *

Latest Videos

Latest Test Papers