#include #define BAAAD_DOUBLE(x) (x*2) #define BAD_DOUBLE(x) ((x)+(x)) #define OKAY_DOUBLE(x) ((x)*2) int fine_double(int x) { return x*2;} int main( int argc, char ** argv ) { int y = 8; printf("A: %d\n", BAAAD_DOUBLE(1+2)); printf("B: %d\n", BAAAD_DOUBLE(++y)); y = 8; printf("C: %d\n", BAD_DOUBLE(1+2)); printf("D: %d\n", BAD_DOUBLE(++y)); y = 8; printf("E: %d\n", OKAY_DOUBLE(1+2)); printf("F: %d\n", OKAY_DOUBLE(++y)); y = 8; printf("G: %d\n", fine_double(1+2)); printf("H: %d\n", fine_double(++y)); if ( argc > 1){ printf("\nHello: %s", argv[1]); } }