11. 

What will be the output of the program?

#include<stdio.h>
#define MIN(x, y) (x<y)? x : y;
int main()
{
    int x=3, y=4, z;
    z = MIN(x+y/2, y-1);
    if(z > 0)
        printf("%d\n", z);
    return 0;
}

A. 3
B. 4
C. 0
D. No output

12. 

What will be the output of the program?

#include<stdio.h>
#define str(x) #x
#define Xstr(x) str(x)
#define oper multiply

int main()
{
    char *opername = Xstr(oper);
    printf("%s\n", opername);
    return 0;
}

A. Error: in macro substitution
B. Error: invalid reference 'x' in macro
C. print 'multiply'
D. No output

13. 

What will be the output of the program?

#include<stdio.h>
#define MESS junk

int main()
{
    printf("MESS\n");
    return 0;
}

A. junk
B. MESS
C. Error
D. Nothing will print

14. 

What will be the output of the program?

#include<stdio.h>
#define PRINT(i) printf("%d,",i)

int main()
{
    int x=2, y=3, z=4;
    PRINT(x);
    PRINT(y);
    PRINT(z);
    return 0;
}

A. 2, 3, 4,
B. 2, 2, 2,
C. 3, 3, 3,
D. 4, 4, 4,

15. 

What will be the output of the program?

#include<stdio.h>
#define MAX(a, b, c) (a>b ? a>c ? a : c: b>c ? b : c)

int main()
{
    int x;
    x = MAX(3+2, 2+7, 3+7);
    printf("%d\n", x);
    return 0;
}

A. 5
B. 9
C. 10
D. 3+7