#include <stdio.h>
 
#define BEGIN {
#define END }
 
#define ONEpTHREE 1+3
 
#define PRODok(x,y) ((x)*(y))
#define PRODbad(x,y) (x*y)
 
const int OnePlusThree = 1+3;
 
int main()
BEGIN
    printf("Result: %d\n", PRODok(ONEpTHREE, 2+4));
    // Προσοχή! Η παραπάνω παράσταση γίνεται ((1+3)*(2+4)) πριν το build
    printf("Result: %d\n", PRODbad(ONEpTHREE, 2+4));
    // Προσοχή! Η παραπάνω παράσταση γίνεται (1+3*2+4) πριν το build
    printf("Result: %d\n", PRODbad(OnePlusThree, 2+4));
    // Προσοχή! Η παραπάνω παράσταση γίνεται (4*2+4) πριν το build
    //                                        ^ αφού 4 είναι το OnePlusThree που είναι το αποτέλεσμα του 1+3
    return 0;
END