C Preprocessor

Q1: 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 Compiles and print nothing

B Not compile

C Compiles with an warning

D It compiles

ANS:A - It compiles

The code won't compile since declaration of t cannot occur within parenthesis.



img not found
img

For help Students Orientation
Mcqs Questions

One stop destination for examination, preparation, recruitment, and more. Specially designed online test to solve all your preparation worries. Go wherever you want to and practice whenever you want, using the online test platform.